UITabarController了解

作者: 学习路上一个远行者 | 来源:发表于2017-05-10 14:21 被阅读112次

    讲解方法addChildViewController####

    controller.title = title;
    controller.tabBarItem.image = [UIImage imageNamed:image];
    controller.tabBarItem.selectedImage = [[UIImage imageNamed:selectedImage] imageWithRenderingMode:(UIImageRenderingModeAlwaysOriginal)];
    NavgationController *navController = [[NavgationController alloc] initWithRootViewController:controller];
    //添加VC
    [self addChildViewController:navController];
    

    另外一个中添加VC的方式:

    self.viewControllers = @[vc1, vc2,vc3];
    

    在我们向UITabController添加vc数组的时候,在还没有执行ViewWillAppear:方法的时候,你可以查看一下self.tabar.subviews,在此时subviews.count == 0,也就是说现在系统还没有创建在tabar上创建UIBarbutton,那么问题是系统是在什么时候在Ttabar上创建相对应的UIBarButton呢? 答案是在系统执行了viewWillAppear,如果你写的控制器是集成UITabController,那你在重写方法viewWillAppear的时候,是有在调用了[Super viewWillAppear]的时候那么你就可以在在Tabar上查看到系统为你创建的UIBarButton

    创建自定义Tabar####

    怎么样创建一个自定义的Tabar,并且还能保证系统原本的风格,有一个方法就是偷换系统的Tabar,把系统自己创建的tabar,变换成自己自定的一个View,可能你查看API@property(nonatomic,readonly) UITabBar *tabBar,可以看出来这个属性是一个只读的,那么我们应该怎么样赋值呢。那么我就应该用到KVC这项技术了[self setValue:tabBar forKey:@"tabBar"];

    但是有几点使我们必须注意的,我们应该在什么时候替换系统的tabar,根据第上面部分的讲解,我们知道我们应该在方法viewWillAppear之前进行替换

    改错####

    我们在代码运行的过程中,我们可以看出来在tabar中的subview的类型是UITabBarButton,我在上面一直说的是UIBarButton
    Tabar默认高度是49

    相关文章

      网友评论

        本文标题:UITabarController了解

        本文链接:https://www.haomeiwen.com/subject/zzxgtxtx.html