UITableView 与导航栏不对齐(单元格在旋转时卡在下面)
Posted
技术标签:
【中文标题】UITableView 与导航栏不对齐(单元格在旋转时卡在下面)【英文标题】:UITableView Misalignment with Navigation Bar (cells get stuck underneath on rotate) 【发布时间】:2011-11-04 21:09:21 【问题描述】:我正在使用 Xcode 4.2 中的新 Storyboard 功能,我遇到了一个问题我的 UITableView 似乎忘记了设备旋转时有一个导航栏。当设备旋转时,单元格似乎被困在导航栏下方。这个错误把我逼疯了,我可能只是把项目扔掉然后重新开始。
由于我最近注意到这一点,我不确定这是我做错了什么/配置错误还是一个错误。尽管如此,对于这个问题:
问题图片:
下图显示了我的应用程序加载后的样子。一切都正确
对齐一旦设备旋转,UITableView 将忽略导航栏并占据其空间。
即使将设备重新定向为纵向模式,问题仍然存在。
我在 Xcode 中的 struts 和 springs 与从对象库中拖出的默认 UINavigationController 没有什么不同。我什至放弃了我的 UINavigationController 并重新配置了一个新的。
为了记录,我没有将我的主导航控制器子类化。
最后,Stack Overflow 上有一个类似的post,但正如您所见,我的导航栏确实在旋转时会正确调整自身大小。
【问题讨论】:
您检查过Autoresize Subviews
设置吗?
【参考方案1】:
在 didRotateFromInterfaceOrientation 方法中添加这个。
[self.navigationController.view layoutSubviews];
【讨论】:
事情如此简单。这解决了我的问题。【参考方案2】:您的UIViewController
中似乎有wantsFullScreenLayout = YES
。
【讨论】:
那个,或者他有一个带有半透明导航栏的导航控制器,它总是允许underlapping。 @dzeikei 我的视图控制器都没有那个设置,但是很棒的想法。设置半透明导航栏只是为了让我可以展示 UITableView 假设它的空间。以上是关于UITableView 与导航栏不对齐(单元格在旋转时卡在下面)的主要内容,如果未能解决你的问题,请参考以下文章
uitableview 自定义单元格在向下滚动 uitableview 时丢失其内容