【发布时间】:2013-11-14 12:30:21
【问题描述】:
我对使用 Apple NSAutolayout 还是很陌生。在最简单的例子中,我可以想象我使用默认模板创建了选项卡式 iPhone 应用程序。然后在第一个视图中,我添加了UISegmentedControl 并向他添加了 2 个约束:“将 X 中心对齐到:SuperView”和“底部空间到:底部布局指南”。然后,当我运行应用程序时,UISegmentedControl 的位置是正确的,但是当我切换到第二个视图并返回时,UISegmentedControl 下降并被UITabBar 隐藏。当我旋转设备时,分段控制位置会回到正确的位置。
有没有办法避免这种情况?
编辑:显示问题的快照很少。
Before http://img824.imageshack.us/img824/6830/o2v2.png After http://img5.imageshack.us/img5/2205/ksb6.png
编辑 2:我找到了临时解决方案。
所有你需要使用属性来存储数据,例如:
@property (nonatomic, assign) CGRect fix_didLoadSegmentedFrame;
然后在viewDidLoad 和处理值更改的函数UISegmentedControl 中添加一行:
self.fix_didLoadSegmentedFrame = self.mapTypeSegmentedControl.frame;
您还应该设置“从因子应用视网膜 3.5 英寸”故事板属性。
【问题讨论】:
-
我有同样的问题。 +1 很好的问题解释。
标签: ios iphone ios7 uitabbar nslayoutconstraint