iOS11 自定义tabbar遇到的问题,删除系统自带tabbar按钮

自定义tabber,就是创建自己的tabbar盖在系统的tabbar上面

//自定义tabbar

GJWTabBar   *customTabBar = [[GJWTabBar alloc]init];

customTabBar.frame=self.tabBar.bounds;

customTabBar.delegate=self;

[self.tabBar addSubview:customTabBar];

self.customTabBar= customTabBar;

// 删除系统自动生成的UITabBarButton

- (void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

// 删除系统自动生成的UITabBarButton

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

if([child isKindOfClass:[UIControl  class]]) {

[child   removeFromSuperview];

}

}

}

可是当我运行时候,系统自带的按钮依然像盖在

上面,出现两个tabbar,之前的ios11以前都没有这个问题的。

后来发现在-(void)viewDidAppear:(BOOL)animated里面重新调用删除系统自带tabbar

就可以了。

以下没有删除掉的情况


方法二:隐藏自带的,创建一个view,来替代。

- (void)viewDidAppear:(BOOL)animated{

    [super viewDidAppear:animated];

    self.tabBar.hidden = YES; //隐藏自带的tabBar

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

        if ([child isKindOfClass:[UIControl class]]) {

            child.hidden = YES;//隐藏自带的tabBarButton

        }

    }

}



注:不喜勿喷!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容