【发布时间】:2015-05-22 10:35:26
【问题描述】:
我正在尝试在 iOS 中模拟 Android android:layout_weight="1" 中的属性。
我有一个带有 7 个按钮的视图,我希望它们都具有相同的宽度和它们之间的相同边距。在 Android 中,您将为所有这些添加权重 1 和 marginLeft = 5(除了最后一个有边距的权利)。
如何使用界面生成器在 iOS 上做到这一点?
【问题讨论】:
我正在尝试在 iOS 中模拟 Android android:layout_weight="1" 中的属性。
我有一个带有 7 个按钮的视图,我希望它们都具有相同的宽度和它们之间的相同边距。在 Android 中,您将为所有这些添加权重 1 和 marginLeft = 5(除了最后一个有边距的权利)。
如何使用界面生成器在 iOS 上做到这一点?
【问题讨论】:
您将为此使用自动布局。对于最左边的对象,将前沿设置为 superview。对于其余对象,将一个对象的后缘连接到下一个对象的前缘。在最右边的对象上,将后沿设置为 superview。
查看本教程了解更多详细信息。
http://www.raywenderlich.com/83129/beginning-auto-layout-tutorial-swift-part-1
【讨论】:
这个答案对我有用:https://stackoverflow.com/a/26323745/1463931
关键是将您的视图嵌套在 StackView 中, 现在在按住 Shift 键的同时,选择要为其分配权重的视图,
然后在约束设置下,根据您想要的结果选择等高或等宽,然后保存。
现在从 StoryBoard 左上角的列表中打开这个 Equal Heights 约束(列出了所有视图和约束)。
在右侧部分中,编辑乘数值。您可以在此处输入您希望如何分配视图的比率。祝你好运。
【讨论】: