【发布时间】:2012-01-27 01:59:25
【问题描述】:
我正在尝试在我的故事板中重复使用我的一些视图。 我从一个 uitabbarcontroller 开始,并为每个选项卡连接了一些视图。 现在我将一个新的 uitabbarcontroller 放入情节提要中,我想将其中一个选项卡连接到连接到原始选项卡栏的 SAME 视图控制器。
你能像那样在情节提要中“重用”视图控制器吗?还是您必须创建新的视图控制器? 我假设前者有效,因为我可以通过选择“推送”在情节提要的其他位置进行操作。 如果我选择“关系”,它就不能与 uitabbar 一起使用。
好的。我找到了我崩溃的原因,我想我知道发生了什么。看来,如果我连接另一个 uitabbarcontroller,那么第一个标签栏上的视图索引就会搞砸。我正在做什么以使用 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 不是那个类(即使故事板显示它是)。
在我原来的标签栏控制器上使用此代码
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 之前工作正常。一旦我这样做了,我的视图控制器就会从循环中消失。
【问题讨论】:
-
我将用一个空白项目重新创建一个更好的问题。
标签: ios uitabbarcontroller storyboard