美文网首页轩轩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