博客> iOS -移除系统自带TabBar的两种情况
iOS -移除系统自带TabBar的两种情况
2018-10-19 00:12 评论:0 阅读:763 syfuxi
ios UITabBarController 自定义Tabbar 移除系统自带TabBar

自定义TabBar之前我们常常需要先移除系统自带TabBar,它分为用代码创建和使用用Storyboard两种情况。

//移除系统自带TabBar  
  - (void) _removeTabBarButton {

    for (UIView *view in self.tabBar.subviews) {

    Class class = NSClassFromString(@"UITabBarButton");
    if ([view isKindOfClass:class]) {

        [view removeFromSuperview];

       }
     }
   }

在使用代码创建UITabBarController时,上面的方法一般被这样调用

  • (void)viewDidLoad {

    [super viewDidLoad];

    //自定义TabBar
    [self createTabBar];    

    }

    在使用Storyboard时,如果直接在viewDidLoad方法里面调用,我们移除的会是一个空的TabBar,而在viewDidLoad被调用以后,StoryBoard会再创建TabBar,所以这个时候我们直接在viewDidLoad里面调用移除的方法是没有效果的。他的调用应该是这样的 //视图将要出现

  • (void) viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    //1.移除系统自带的TabBar [self _removeTabBarButton]; }

收藏
0
sina weixin mail 回到顶部