ios - Xcode 6 Auto Layout - 所有设备上的 UI 元素之间保持恒定的水平间距

标签 ios uibutton xcode6 autolayout spacing

我正在 Xcode 6 上为 iPhone 5s、iPhone 6 和 iPhone 6+ 设计一个 iOS 7+ 应用程序。我想为所有这些设备创建单一设计,因此我使用自动布局。我希望所有设备上的 UI 元素之间的间距都相同,但我很难实现这一点。这是我在 iPhone 6 模拟器上的一个 UIButtons 的屏幕截图,比例为 100%:

enter image description here

(白色框是间隔 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/

相关文章:

iphone - Xcode 6验证/提交无效

ios - 无法快速弹出警报

iOS 是否有更好的替代基于通知的代码?

ios - 无法在没有错误的情况下在自定义 UITableView 上添加 UIButton

ios - 如何为 UIControl/UIButton 设置从一种状态到另一种状态的动画转换?

ios - SKSpriteNode 出现在 iOS 8 中,而不是出现在 iOS 7 中

swift - 在 Xcode 6 中工作的代码不适用于 Xcode 7

ios - Object Swift 中数组中的对象

ios - 自动调整表格 View 单元格内的自动调整表格 View 大小

ios - 如何在程序运行时禁用(停用)按钮?