Я пытаюсь повторно использовать некоторые из моих взглядов в своем раскадровке. Я начинаю с uitabbarcontroller и имеет несколько видов для каждой вкладки. Теперь я сбросил новый uitabbarcontroller в раскадровку, и я хочу подключить одну из ее вкладки к SAME viewcontroller, который подключен к исходной панели.uitabbarcontroller раскадровка: подключение viewcontroller, который уже подключен к другому uitabbarctrl
Можете ли вы использовать «viewcontrollers» в раскадровке? Или вам нужно создавать новые контроллеры view? Я предполагаю, что прежние работы, так как я могу сделать это еще там, где в раскадровке, выбрав «push». Это просто не работает с uitabbar, если я выбираю «отношения».
ok. Я нашел причину моего краха, и я думаю, что знаю, что происходит. Похоже, что если я подключу еще один uitabbarcontroller, то индексы для просмотров на первой вкладке прикручиваются. Что я делаю, чтобы получать ссылки на viewcontrollers в uitabbar с помощью
UINavigationController* ar_nav=[self.viewControllers objectAtIndex:1];
_artvc = [ar_nav.viewControllers objectAtIndex:0];
if (![_artvc isKindOfClass:[ArtistTableViewController class]])
{
TGLog(@"ERR wrong class! %@", [_artvc class]);
exit(0);
}
Как только я подключить второй uitabbar Оказывается, что индекс 1 не то, что класс (даже несмотря на то, раскадровка показывает, что это такое) ,
используя этот код на мой оригинальный контроллер TabBar
UINavigationController* n;
for (n in self.viewControllers)
{
UIViewController* vc=[n.viewControllers objectAtIndex:0];
TGLog(@"%@", [vc class]);
if ([vc isKindOfClass:[ArtistTableViewController class]])
{
_artvc = (ArtistTableViewController*)vc;
}
if ([vc isKindOfClass:[SongsTableViewController class]])
{
_stvc = (SongsTableViewController*)vc;
}
if ([vc isKindOfClass:[AlbumTableViewController class]])
{
_altvc = (AlbumTableViewController*)vc;
}
}
работает отлично, пока я подключить второй uitabbar. Как только я это сделаю, мой диспетчер просмотра исчез из цикла.
я собираюсь воссоздать лучший вопрос с пустым проектом. – roocell