Xcode 6 自动布局 - 在所有设备上 UI 元素之间的恒定水平间距
Xcode 6 Auto Layout - Constant horizontal spacing between UI elements across all devices
我正在为 iPhone 5s、iPhone 6 和 iPhone 6+ 在 Xcode 6 上设计一个 iOS 7+ 应用程序。我想为所有这些设备创建一个单一的设计,所以我使用自动布局。我希望 UI 元素之间的间距在所有设备上都相同,但我很难做到这一点。这是我的一个 UIButtons
在 iPhone 6 模拟器上 100% 比例的屏幕截图:
(白框是间隔视图,不用担心。)
如你所见,UIButton
左边缘到UIViewController
左边缘的水平间距为37px。在 iPhone 5s 上,这个间距是 32px。我希望所有设备上的间距都是 32px。在自动布局中,我将水平间距约束设置为常数 32。即使使用此设置,它似乎也在缩放间距。
如何防止水平间距缩放?
我认为您的应用尚未 iPhone 6 就绪。如果您的应用与 iPhone 6 兼容,则所有设备上的间距均为 32px。否则,iOS 绘制宽度为 320px 的屏幕并将其缩放以适合实际屏幕宽度。这就是为什么你在 iPhone 6.
中得到 37px
要使应用 iPhone 6 兼容,请创建启动屏幕文件(新文件 > iOS > 用户界面)并将其指定为项目设置中的启动屏幕文件。然后应用程序将以设备的本机屏幕分辨率启动。
我正在为 iPhone 5s、iPhone 6 和 iPhone 6+ 在 Xcode 6 上设计一个 iOS 7+ 应用程序。我想为所有这些设备创建一个单一的设计,所以我使用自动布局。我希望 UI 元素之间的间距在所有设备上都相同,但我很难做到这一点。这是我的一个 UIButtons
在 iPhone 6 模拟器上 100% 比例的屏幕截图:
(白框是间隔视图,不用担心。)
如你所见,UIButton
左边缘到UIViewController
左边缘的水平间距为37px。在 iPhone 5s 上,这个间距是 32px。我希望所有设备上的间距都是 32px。在自动布局中,我将水平间距约束设置为常数 32。即使使用此设置,它似乎也在缩放间距。
如何防止水平间距缩放?
我认为您的应用尚未 iPhone 6 就绪。如果您的应用与 iPhone 6 兼容,则所有设备上的间距均为 32px。否则,iOS 绘制宽度为 320px 的屏幕并将其缩放以适合实际屏幕宽度。这就是为什么你在 iPhone 6.
中得到 37px要使应用 iPhone 6 兼容,请创建启动屏幕文件(新文件 > iOS > 用户界面)并将其指定为项目设置中的启动屏幕文件。然后应用程序将以设备的本机屏幕分辨率启动。