适配iOS11,为什么底部栏重叠了,为什么不能移除系统的tabBar,急急急

a65859492 2017-11-15 09:26:16
http://blog.csdn.net/xyt8023y/article/details/44134791

原始模型是这样写的,一摸一样

-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

self.navigationController.navigationBarHidden = YES;

// 删除系统自动生成的UItabButton
for (UIView *child in self.tabBar.subviews)
{
if ([child isKindOfClass:[UIControl class]])
{
[child removeFromSuperview];
}
}
}
也删除了系统的tabBar.
为什么还会重叠? 并没有删除系统的tabBar
...全文
773 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
iOS11上只能隐藏,不能删除。因为控件内部在下一次layout时会自动把删除的元素加上去
a65859492 2017-11-15
  • 打赏
  • 举报
回复
iOS11删除tabBar后打印 (lldb) po self.tabBar.subviews <__NSArrayM 0x1c4444530>( <_UIBarBackground: 0x13bf32580; frame = (0 0; 320 49); userInteractionEnabled = NO; layer = <CALayer: 0x1c0828e20>>, <TabBar: 0x13bf332a0; frame = (0 0; 320 49); layer = <CALayer: 0x1c0829180>>, <UITabBarButton: 0x139dfb440; frame = (2 1; 103 48); opaque = NO; layer = <CALayer: 0x1c082d880>>, <UITabBarButton: 0x13bf479a0; frame = (109 1; 102 48); opaque = NO; layer = <CALayer: 0x1c082eca0>>, <UITabBarButton: 0x139e78930; frame = (215 1; 103 48); opaque = NO; layer = <CALayer: 0x1c042e3a0>> ) iOS10之前打印 (lldb) po self.tabBar.subviews <__NSArrayM 0x17005dac0>( <_UIBarBackground: 0x151d889b0; frame = (0 0; 320 49); userInteractionEnabled = NO; layer = <CALayer: 0x17423bf80>>, <TabBar: 0x151d81580; frame = (0 0; 320 49); layer = <CALayer: 0x174238720>> ) 明显是删除了 可是为什么还有添加?

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧