我正试图在我的故事板中重用我的一些观点。 我从一个uitabbarcontroller开始,并为每个选项卡连接了一些视图。 现在我将一个新的uitabbarcontroller放入故事板中,我想将其中一个标签连接到连接到原始标签栏的SAME视图控制器。
你可以在故事板中重复使用'viewcontrollers吗?或者你必须创建新的viewcontrollers? 我认为前者是有效的,因为我能够通过选择“推送”来实现故事板中的其他位置。 如果我选择“关系”,它就不会使用uitabbar。
确定。我找到了崩溃的原因,我想我知道发生了什么。看来,如果我连接另一个uitabbarcontroller,那么第一个标签栏上的视图的索引就会搞砸了。我正在做的是使用
获取uitabbar中viewcontrollers的引用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。一旦我这样做,我的viewcontroller就会从循环中消失。
答案 0 :(得分:0)
这绝对是可能的。您确定正在建立的连接是否为视图?
我道歉;目前还不清楚。当您按住控件并拖动蓝色连接线时,请确保连接到视图本身(而不是其他任何内容)。
您应该能够在UITabBarController和视图之间创建该关系,即使它正由另一个UITabBarController共享。
当您尝试时,它会向您显示哪些选项?
答案 1 :(得分:0)
确定。它有可能做(可能)事实我正在做UITabbar-> navcontroller-> uitableview
当我添加第二个tabbar并创建它自己的navcontroller并连接它时。然后通过从navcontroller连接到tableview'重用'原始tableview。这似乎并没有弄乱原来的标签栏。
这是我的故事板的截图 http://www.thumbgenius.dynalias.com/tabbar_vc_reuse.png