Как загрузить xib в два представления контейнера в одном контроллере представления

Я хочу создать xib/class таймера круга для одного человека и дважды загрузить его на один контроллер представления на моей доске раскадровки. Каждый из двух экземпляров будет использоваться для измерения времени и сравнения времени круга двух человек на одном ViewController.

Я разместил два представления контейнера рядом в контроллере представления раскадровки (LapCounterViewController).

Я также создал файлы xib и class в качестве таймера круга для одного человека ( LapCounterNibViewContainer ).

Как создать два экземпляра LapCounterNibViewContainer и поместить их в каждый из контейнеров?

_vc1 = [[LapCounterNibViewController alloc] initWithNibName:@"LapCounterNibViewController"  bundle:nil];
_vc1.view.frame = self.LapCounterFrame1.frame;
//_vc1.delegate = self;

[_LapCounterFrame1 addChildViewController:_vc1];
[_vc1 didMoveToParentViewController:self];
[self.view addSubview: _vc1.view];

введите здесь описание изображения

введите здесь описание изображения


person masteroleary    schedule 03.07.2013    source источник


Ответы (1)


В раскадровке вы можете добавить два контейнерных представления к одному и тому же контроллеру представления и соединить их оба с одним и тем же дочерним контроллером представления, перетащив правой кнопкой мыши и выбрав встроить. Это создало переход следующим образом:

вставить скриншот перехода

Нажмите на переход и дайте ему идентификатор. Затем добавьте метод prepareForSegue в родительский контроллер представления и установите некоторые свойства для таймеров кругов отдельно, если хотите.

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segueName isEqualToString: @"embedSegueToLapTimerOne"]) {
        LapCounterNibViewController * childViewController = (LapCounterNibViewController *) [segue destinationViewController];
        [childViewController setFoo:bar1];
    }
    if ([segueName isEqualToString: @"embedSegueToLapTimerTwo"]) {
        LapCounterNibViewController * childViewController = (LapCounterNibViewController *) [segue destinationViewController];
        [childViewController setFoo:bar2];
    }
    }
person Julian Vogels    schedule 03.07.2013