我可以用自动布局/大小类做到这一点吗?

Posted

技术标签:

【中文标题】我可以用自动布局/大小类做到这一点吗?【英文标题】:Can I do this with autolayout/size classes? 【发布时间】:2015-02-11 22:07:10 【问题描述】:

我可以在 xcode 6 中使用自动布局和大小类来做到这一点吗?如果可以,我该如何实现?

视图的纵横比应为 7:6,4 个按钮应如下所示。

【问题讨论】:

你试过了吗? 是的,持续几个小时。 所以你应该提供细节并解释什么不起作用 @Wain,我可以创建具有所需纵横比的大视图。而且我可以在它下面创建按钮(假设纵向模式),但我不能等间距。而且,我更大的问题是,我无法在横向模式下让相同的按钮出现在大视图的右侧。 【参考方案1】:

https://www.youtube.com/watch?v=p5wD8dvSDbM 很简单,看视频:) 只有你可以在 iphone 上做,ipad 不能识别横向或纵向

【讨论】:

我已经看过了……我喜欢她的视频,但它没有回答我的问题。 你可以用这些视频来做,首先你选择一个大小(紧凑|任何)创建一个视图。其次,您必须选择(任何|紧凑)并使用另一侧的按钮创建其他视图,当您将iphone设置为横向时,视图将随着按钮向右而改变,当您设置纵向时,按钮将设置为底部跨度> 您首先需要将元素放置在any/any上,然后您可以在任何其他设计模式下使用。为了使按钮空间相等,添加约束:1)每个按钮的纵横比为 1:1; 2) 每个按钮的宽度相等 3) 按钮之间的空间限制 是的,更改视图时按钮会消失,您必须添加两个按钮集合。在这种情况下,您可以在两个 uibuttons 中设置相同的 IBACTION 看到这个,也许可以帮助sitepoint.com/building-adaptive-user-interfaces-ios-8【参考方案2】:

尺寸类别不是基于特定尺寸(即

但是,如果您可以放弃一些控制权,您只需在界面生成器中更改模拟大小类,设置您的约束,它们就可以在运行时工作。

【讨论】:

@ragnarius 如果您在“Any/Any”模拟尺寸中设置布局约束,然后切换到“Any/Compact”或“Large/Any”并使用“landscape”重新布局" 布局,它只会在运行时工作。

以上是关于我可以用自动布局/大小类做到这一点吗?的主要内容,如果未能解决你的问题,请参考以下文章

运行时自动布局的 UIButton 大小

使用自动布局和约束更改位置

UILabel 自动布局适合

自动布局 - UIButton 的固有大小不包括标题插图

使用带有修复底部 UIView 的自动布局调整 UIView 的大小

横向使用自动布局的 iOS 拉伸视图