调整UIStackView控件中的UIView高度
我在iOS 9 SDK中使用UIStackView。 堆栈视图的高度是44点。 我在StackView中有一个UILabel和UIView,如下所示:
现在,我想让绿色的视angular比44更小,非常像20.我该怎么做?
更新:没有UIStackView我正在打破约束:
[GT.BubbleView:0x14536610] (Names: '|':UITableViewCellContentView:0x14536fd0 )>", "<NSLayoutConstraint:0x146b7300 GT.BubbleView:0x14536610.trailing == UITableViewCellContentView:0x14536fd0.trailingMargin>", "<NSLayoutConstraint:0x146c4000 'UIView-Encapsulated-Layout-Width' H:[UITableViewCellContentView:0x14536fd0(286)]>"
)
如果你想要达到像下面那样的20×20平方:
然后,你所要做的就是添加另一个UIView到你的绿色视图。 使该UIView的大小20x20pts。 然后将小视图背景更改为绿色,将较大视图的背景更改为清除。
也就是说,这个解决scheme不需要堆栈视图,并且可能使UI太复杂。 我会build议只使用自动布局。
Stackviews是最有用的时候
- 您要补偿设备方向的变化,
- 想要在彼此之上堆叠很多东西,
- 想要创build一个非常复杂的布局,其中有许多元素,但是有可以重复的模式
- 只是希望能够删除一个元素或添加一个元素的大小修正自己
该列表并不详尽,但应该给你一个关于何时以及为什么使用堆栈视图的想法。
在原型单元之外
这种行为是微不足道的。 你可以简单地在你的视图上设置约束: “
然后在stackview上设置约束:
希望这有助于,欢呼!
-
首先,您需要在
cell
上添加UIStackView
-
需要添加约束到你的
UIStackView
-
调整你的
UIStackView
-
将
UILabel
拖放到您的UIStackView
-
然后将
UIView
拖放到您的UIStackView
-
添加
green-UIView
像子视图pink UIView
-
现在你可以添加几个约束到
green-UIView
-
现在,您可以在模拟器或设备上运行应用程序
请注意 ,我没有为
UILabel
添加任何约束。
通过将宽度和高度约束的优先级设置为800或更高,可以容易地解决打破约束问题。