iOS8 自定义UITabBar (使用popToViewController导致的UITabBarButton重叠的问题)

想看详细的,可以看这篇文章,有时候 在popToViewController 的时候 ,原本一开始被我们移除的UITabbarButton会莫名其妙的再次加载到UITabBar上了,考虑到我们一开始就在UITabBarController的- ViewDidLoad 方法里面移除了,如下面这样:

//@interface MainTabBarController : UITabBarController

- (void)viewDidLoad {

    for (UIView *subView in self.tabBar.subviews) {
    
        [subView removeFromSuperview];
     }
     //自定义一些控件子视图
 }

而且 -ViewDidLoad 此方法在生命周期里面只会走一次,所以我们断定一定是在Apple 在 [super viewWillLayoutSubviews] 做了一些判断,所以我们必须要在 [super viewWillLayoutSubviews] 之后再移除掉就行了

//@interface MainTabBarController : UITabBarController

- (void)viewWillLayoutSubviews {

    [super viewWillLayoutSubviews];

    for (UIView *subView in self.tabBar.subviews) {
    
        ![subView isKindOfClass:NSClassFromString(@"UITabBarButton")] ?: [subView removeFromSuperview];
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容