将tabBar隐藏在UITabBarController中,不将底部布局指南更改为屏幕底部

时间:2014-01-14 09:45:07

标签: ios7 autolayout

我在项目中使用autolayout,我的视图控制器中有一个tableview。所以我从顶部布局指南的底部和底部布局指南的顶部设置了它的垂直间距为0.但是当我隐藏标签栏时,tableView不会延伸到屏幕的底部。这是否意味着当隐藏标签栏时iOS不会调整底部布局指南?

1 个答案:

答案 0 :(得分:2)

您的问题的答案是否定的,隐藏栏时底部布局指南不会更改。

为什么呢?仅仅因为标签栏没有从其超级视图中删除,它只是隐藏,因此底部布局指南不应该改变。如果你再次展示会怎么样?

(lldb) po [[[self tabBarController] tabBar] isHidden]
0x0000000000000001

(lldb) po [[self tabBarController] tabBar]
<UITabBar: 0x14dd3f890; frame = (0 519; 320 49); hidden = YES; autoresize = W+TM; userInteractionEnabled = NO; layer = <CALayer: 0x17022c760>>

正如您所看到的那样,条形图仍然存在,但它尚未从层次结构中删除,因此底部布局指南不会发生变化。这是预期的行为。