【发布时间】:2014-03-03 10:18:21
【问题描述】:
对于导航控制器,我喜欢在视图中从上到下放置一些控件。我正在使用自动布局并添加了约束,因此视图彼此之间存在垂直间隙。这对于普通视图控制器中的 iOS7 和 iOS6 看起来不错,也适用于导航控制器中的 iOS7;但在 iOS6 中是错误的。 UISegmentedControl 显示错误。查看屏幕截图。
iOS6 视图似乎没有考虑 UISegmentedControl 的较大高度。从 3.5 英寸屏幕切换到 4 英寸屏幕时,它也会移位。
请注意,这只发生在导航控制器视图中。在导航控制器的故事板中,我将顶部栏设置为“不透明导航栏”。 上面的按钮有一个约束“Top Space to Top Layout Guide”。所有其他控件都有一个约束“Top Space to ....”(它们上方的控件)。
是否有任何我可以应用的已知修复?
可能出了什么问题? (我是自动布局的新手。)或者它只是一个我必须以某种方式解决的错误?
编辑:
我尝试将分段控件放在额外的视图中,但这也没有帮助。
我可以为分段控件设置高度约束,这在某种程度上确实有所帮助。但这为分段控件设置了 iOS6 和 iOS7 的相同高度。我现在的工作是在视图加载时更改/添加代码中的高度约束,并根据 iOS 版本设置一个值。还有其他建议吗?
截图:
在导航控制器中,iOS6 视图:
在导航控制器中,iOS7 视图:
在“普通”视图控制器中,iOS6 视图:
在“普通”视图控制器中,iOS7 视图:
【问题讨论】:
标签: ios uinavigationcontroller storyboard autolayout uisegmentedcontrol