View 在没有自动布局的 iphone 4 和 5/6 上有不同的位置
Posted
技术标签:
【中文标题】View 在没有自动布局的 iphone 4 和 5/6 上有不同的位置【英文标题】:View has different position on iphone 4 and 5/6 without Auto-layout 【发布时间】:2014-11-13 23:46:47 【问题描述】:我没有使用自动布局,但我在情节提要上有一个视图(使用界面构建器),它在视图属性上有这样的:
X : 0 , Y : 43, Width :325, Height : 362.
我没有使用自动布局,并且 IB 上的视图具有固定的模拟大小。
在 iphone 4 上 - 视图的尺寸变为:
ContainerView. X : 0.000000 Y:63.000000 Height :362.000000 Width : 325.000000
在 iphone 5/6 上它们变成了:
ContainerView. X : 0.000000 Y:151.000000 Height :362.000000 Width : 325.000000
所以,Y 是不同的。
ViewController 不使用导航栏或其他任何东西。
-
为什么在 iphone 4 上它们与在 IB 上的不同?
为什么 4 和 5/6 之间存在差异?我猜是因为屏幕尺寸不同和状态栏的差异 - 但差异不是 88 pt,不是吗?
将它放在同一位置的最佳方式是什么?以编程方式检查设备并调整框架或使用自动布局?
谢谢
【问题讨论】:
【参考方案1】:如果您禁用 AutoLayout,这意味着您正在使用 Autoresizing,它具有使您的视图适应大小和方向变化的有限功能。检查您的自动调整蒙版
推荐使用 AutoLayout 和尺寸类的方法,以便您可以根据不同的尺寸和方向微调所有 UI 组件。您可以查看 Apple 官方文档以供参考
https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/AboutAdaptiveSizeDesign.html
【讨论】:
以上是关于View 在没有自动布局的 iphone 4 和 5/6 上有不同的位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在兼容 iphone 5 和 iphone 4 的笔尖中应用自动布局?
iPhone IB 没有在 View as 部分显示,而不是 iPad:Xcode 8