【发布时间】:2014-01-14 09:45:07
【问题描述】:
我在我的项目中使用自动布局,并且我的视图控制器中有一个表格视图。因此,我将其与顶部布局指南底部和底部布局指南顶部的垂直间距设置为 0。但是当我隐藏标签栏时,tableView 不会延伸到屏幕底部。这是否意味着iOS在标签栏隐藏时不会调整底部布局指南?
【问题讨论】:
标签: ios7 autolayout
我在我的项目中使用自动布局,并且我的视图控制器中有一个表格视图。因此,我将其与顶部布局指南底部和底部布局指南顶部的垂直间距设置为 0。但是当我隐藏标签栏时,tableView 不会延伸到屏幕底部。这是否意味着iOS在标签栏隐藏时不会调整底部布局指南?
【问题讨论】:
标签: ios7 autolayout
您的问题的答案是否定的,隐藏栏时底部布局指南不会更改。
为什么?仅仅因为标签栏没有从它的超级视图中删除,它只是被隐藏了,因此底部布局指南不应该改变。如果你再次展示它会发生什么?
(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>>
如您所见,栏仍然“存在”,它尚未从层次结构中删除,因此底部布局指南没有改变。这是预期的行为。
【讨论】: