美文网首页轩轩ios学习
移除TabBar原有的button的时间

移除TabBar原有的button的时间

作者: 咬鹃 | 来源:发表于2016-03-08 00:10 被阅读104次
  • 今天刚接触到自定义tabBar,当自己定义完tabBar之后在loadView把原来的tabBar上的button移除的时候发现怎么也不行,后来经提醒要在viewWillappear这个方法里写才行
![打印结果.png](https://img.haomeiwen.com/i1511652/8da3100aef497080.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
-(void)viewWillAppear:(BOOL)animated
{

//    [super viewWillAppear:animated];
    NSLog(@"移除之前个数-----%zd",self.tabBar.subviews.count);
    
    // 移除tabBar之前的按钮
    for (UIView *childView in self.tabBar.subviews) {
        
        if (![childView isKindOfClass:[ZSTabBar class]]) {
            
            [childView removeFromSuperview];
        }
    }
    
    NSLog(@"移除之后个数----%zd",self.tabBar.subviews.count);
}
打印结果.png tabBar.png
  • 当时第一时间就知道这个打印结果不对,不可能是1个,但是也不知道错在了哪里,然后蠢蠢的自己弄了好久才发现在调用viewWillappear的时候忘了调用父类的方法来还原本来的一些操作.加上这句就好了

- (void)viewWillAppear:(BOOL)animated
{

    [super viewWillAppear:animated];
    NSLog(@"移除之前个数-----%zd",self.tabBar.subviews.count);
    
    // 移除tabBar之前的按钮
    for (UIView *childView in self.tabBar.subviews) {
        
        if (![childView isKindOfClass:[ZSTabBar class]]) {
            
            [childView removeFromSuperview];
        }
    }
    
    NSLog(@"移除之后个数----%zd",self.tabBar.subviews.count);
}
  • 然后一切都正常了,啦啦啦,看来是系统的tabBar的按钮会在这个方法里面才加进去
改完之后.png 改完之后tabBar.png

相关文章

网友评论

    本文标题:移除TabBar原有的button的时间

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