我想在ios中使用单个视图应用程序创建一个Tab栏

时间:2014-10-01 05:09:19

标签: ios objective-c uitabbarcontroller

我是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;
    }
}

1 个答案:

答案 0 :(得分:0)

您获得的错误是因为您尝试将UIViewController作为子视图添加到视图中。通常,UITabBar用于在视图控制器之间切换,在这种情况下,您可能希望使用segue或呈现新的视图控制器。所以如果你真的想要呈现一个" FirstViewController"和" SecondViewController",您需要切换到这些控制器,而不是将它们添加为子视图。如果您真正想要做的是在单个视图中切换两个不同的子视图,那么您需要继承UIView而不是UIViewController,并使用那些使用FirstViewController和SecondViewController的子类。

Here's an example of something like this for a UIWebView