我正在 Xcode 6 上为 iPhone 5s、iPhone 6 和 iPhone 6+ 设计一个 iOS 7+ 应用程序。我想为所有这些设备创建单一设计,因此我使用自动布局。我希望所有设备上的 UI 元素之间的间距都相同,但我很难实现这一点。这是我在 iPhone 6 模拟器上的一个 UIButtons
的屏幕截图,比例为 100%:
(白色框是间隔 View ,但不用担心它们。)
如您所见,UIButton
左边缘到UIViewController
左边缘的水平间距为 37px。在 iPhone 5s 上,此间距为 32px。我希望所有设备上的间距均为 32px。在自动布局上,我将水平间距约束设置为常量 32。即使使用此设置,它似乎也会缩放间距。
如何防止水平间距缩放?
最佳答案
我认为您的应用还没有为 iPhone 6 做好准备。如果您的应用程序与 iPhone 6 兼容,则所有设备上的间距均为 32px。否则,iOS 绘制宽度为 320px 的屏幕并将其缩放以适合实际屏幕宽度。这就是您在 iPhone 6 中获得 37px 的原因。
要使应用程序兼容 iPhone 6,请创建启动屏幕文件(新文件 > iOS > 用户界面)并将其指定为项目设置中的启动屏幕文件。然后应用程序将以设备的 native 屏幕分辨率启动。
关于ios - Xcode 6 Auto Layout - 所有设备上的 UI 元素之间保持恒定的水平间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29132265/