每个设备是不是可以有一个布局而不是自动布局?
Posted
技术标签:
【中文标题】每个设备是不是可以有一个布局而不是自动布局?【英文标题】:Is it possible to have one layout per device instead of auto layout?每个设备是否可以有一个布局而不是自动布局? 【发布时间】:2017-01-10 08:31:55 【问题描述】:在 XCode 中,我想根据使用的设备有不同的布局。例如,如果它是 iPad,我希望图像向左对齐,一些文本向右对齐,而在 iPhone 7 上,我希望图像位于文本上方。有点像响应式网站,我们可以根据设备宽度管理布局。
在 XCode 中是否可以使用 Storyboards?还是应该继续使用自动布局功能?
谢谢!
【问题讨论】:
你真的应该使用自动布局,有一天当苹果决定为他们的手机添加一个新的屏幕尺寸时,你的应用布局会在没有更新的情况下中断,这可能需要你一段时间才能推出,具体取决于多少 UI你的应用有 【参考方案1】:在autolayout
的帮助下,我们可以在不同的屏幕尺寸上实现不同的布局。您可以在 Storyboard 中更改 constants values
以获取不同大小的类。
步骤:-
选择我们想要改变其他尺寸等级的值的常量。 在属性检查器中选择常量后,可以看到常量的值。您可以在旁边看到加号 (+),在“常数”的左侧。 点击它并选择您想要的尺码等级。 给它一个新值。【讨论】:
【参考方案2】:我找到了这个answer 来回答你的问题。
但是,如果如您所说,您只想为 iPad 和 iPhone 提供不同的显示器,您可以通过以下简单方式区分它们:
if UIDevice.current.userInterfaceIdiom == .pad
// Show iPad UI
else
// Show iPhone UI
【讨论】:
以上是关于每个设备是不是可以有一个布局而不是自动布局?的主要内容,如果未能解决你的问题,请参考以下文章