【发布时间】:2019-04-11 15:03:09
【问题描述】:
我正在使用 Xcode 10/Swift 5/iOS 12 并得到了这个布局:
红色(垂直)StackView设置为:
- 分布:“均等填充”
- 高度:300(固定)
- 框架:10 个(每边)
- 间距:10
5 个水平子 StackViews:
- 分布:“均等填充”
- 每个高 52 像素 ((300-40)/5) - 不固定!
蓝色 View 只占用剩余的屏幕空间(顶部与红色 StackView 对齐,底部与“SuperView”对齐)。
标签自动占用 52 像素,但我希望两个 TextField 正好是 30 像素(上方/下方 +11)。如果我只是设置高度,InterfaceBuilder 会抱怨冲突并且实际上并没有改变任何东西。
如何在不改变周围水平 StackView 高度的情况下设置它们的高度?
【问题讨论】:
-
只需在情节提要中为每个文本字段设置 contentHugging 优先级和 compressionResistance 优先级即可。
-
@PranavKasetti 抱歉,
to required是什么意思?我知道在哪里设置“优先级”值(在“尺寸检查器”中),但我看不到它们的任何其他设置。 -
必填表示最大值(1000)
-
@PranavKasetti 我将第一个 TextField 的两个“垂直”优先级都设置为“1000”,但这并没有改变任何东西 - 它仍在抱怨冲突。
-
尝试将水平堆栈视图的对齐方式设置为fill而不是fillEqually,并改用宽度约束
标签: ios xcode uitextfield constraints uistackview