为什么我在iPhone5和iPhone6的模拟器中获得不同的布局

时间:2015-10-14 23:51:48

标签: ios iphone xcode

我正在尝试使用故事板在Xcode中创建一个ViewController,但是当我运行模拟器时,我会得到不同的结果......

在iPhone5模拟器中:

iPhone5 Simulator

在iPhone6模拟器中:

iPhone6 simulator

1 个答案:

答案 0 :(得分:1)

检查自动布局限制。

可能星星和魔杖的x值相对于屏幕左侧设置了。设置相对于右侧的x值。

灰框高度应为设置像素高度(默认为44px)。您可以将其设置为相对于self.view的高度,但将其设置为44px绝对是标准方式。

如果您截取了自动布局约束和故事板的截图,我可以提供更多帮助。

修改:正如Arpit Dhamane指出的那样,44px不是默认值,44pt是。 Useful guide on iOS Layouts。我不确定autolayout如何处理事情,但我确信它位于pt而不是px,因此44pt是导航栏的正确尺寸。

另外,我会使用UIButtons作为魔杖和星星。该图片的大小将使用setImage(...),然后button.imageEdgeInset = UIEdgeInsets(...)topleftbottomright到1/4高度导航栏,因此图像是导航栏高度的1/2。我不知道这是否符合惯例,但它在外观和可访问性方面表现良好。

PS:我不使用storyboards并以编程方式执行所有操作,因此我不确定UIButton部分对您有多大用处。