我是iOS开发的新手 我想使用单一视图应用程序创建一个标签栏 所以,我带了一个带有xib的两个视图控制器,在app delegate中我写了这些代码,但app没有运行 这里也是错误是不兼容的指针类型发送'UiViewController'到'UiView类型'
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
switch (item.tag)
{
case 1:
if (view1 == nil)
{
self.view1=[[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];
}
[self.view insertSubview:view1 aboveSubview:tabbar];
break;
case 2:
if (view2 == nil)
{
self.view2=[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
}
[self.view insertSubview:view2 aboveSubview:tabbar];
break;
default:
break;
}
}
答案 0 :(得分:0)
您获得的错误是因为您尝试将UIViewController作为子视图添加到视图中。通常,UITabBar用于在视图控制器之间切换,在这种情况下,您可能希望使用segue或呈现新的视图控制器。所以如果你真的想要呈现一个" FirstViewController"和" SecondViewController",您需要切换到这些控制器,而不是将它们添加为子视图。如果您真正想要做的是在单个视图中切换两个不同的子视图,那么您需要继承UIView而不是UIViewController,并使用那些使用FirstViewController和SecondViewController的子类。