我对使用 Apple 很陌生NSAutolayout
。在最简单的例子中,我可以想象我使用默认模板创建了选项卡式 iPhone 应用程序。然后在第一个视图中,我UISegmentedControl
向他添加了 2 个约束:“将 X 中心对齐到:SuperView”和“底部空间到:底部布局指南”。然后,当我运行应用程序时,UISegmentedControl
位置是正确的,但是当我切换到第二个视图并返回时,它UISegmentedControl
会下降并被UITabBar
. 当我旋转设备时,分段控制位置会回到正确的位置。
有没有办法避免这种情况?
编辑:很少有快照显示问题。
之前 http://img824.imageshack.us/img824/6830/o2v2.png 之后 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 英寸”故事板属性。