Xcode Storyboard - 带多标签标签的多堆栈视图
刚开始在Xcode
中开发iOS
应用程序。Xcode Storyboard - 带多标签标签的多堆栈视图
在Storyboard
我有8套Labels
需要放在水平/垂直Stack Views
里面。其中之一是多行Label
即行设置为2
和文本有插入换行符Ctrl + 输入。
我想达到的目标是一样的东西(更多的概念图的不是视一眼):
+---------------Stack View+1-(100%)-------------------+
| +--Stack View 2-(50%)-+ | +---Stack View 3-(50%)--+ |
| |Label 1 | | | +--Stack+View 4-----+ | |
| +---------------------+ | | |Label 3|Label 4 | | |
| |Label 2 | | | +-------+-----------+ | |
| |Multiline | | +-----------------------+ |
| +---------------------+ | | +--Stack+View 5-----+ | |
| | | |Label 5|Label 6 | | |
| | | +-------+-----------+ | |
| | +-----------------------+ |
| | | +--Stack+View 6-----+ | |
| | | |Label 7|Label 8 | | |
| | | +-------+-----------+ | |
| | +-----------------------+ |
+-------------------------+---------------------------+
Stack View 1
应尽可能宽屏幕。 Stack Views
2
和3
应该展开以填充屏幕宽度的一半。两者都应该相应扩大。 Labels
4
,6
,8
应该扩大,以填补Stack View
3
剩余宽度,而3
,5
,7
应该只有足够宽以适应文本。
我将使用约束到最外面的水平Stack View
拥抱边缘。
将单行Labels
添加到Stack Views
并且甚至将这些Stack Views
添加到Stack View
按预期工作。
但是添加一行Label
和多Label
到Stack View
通向Stack View
成为zero
width
:
添加这种垂直Stack View
另一个Stack View
使得极宽width
的新新Stack View
:
如果没有多行Label
也按预期工作。如何通过多行Label
实现我的预期布局?
我试过对Stack Views
设置约束,但没有我已经尝试似乎工作。
编辑:我在这里找到了解决方案:Multiline label in UIStackView。我的问题是没有多个Labels
(我正在寻找更早),而是多行Label
。在添加到Stack View
之前,将多行Label
嵌入View
内解决了此问题。
最外面的堆栈视图需要3个约束,顶部,前导和尾随。它会从contentSize中推断出高度约束。
您将需要在substackviews上设置水平内容拥抱和水平内容压缩值,以便最外层的堆叠视图知道哪个堆叠压缩/展开,如果它太少/太多空间(除非您选择的分配方法不同于填充,如同等大小)。
您需要为具有多个标签的堆叠视图执行相同的操作。您还应该正确设置标签行为(例如自动换行,缩小到合适,numberOfLines等)。
你能分享你的故事板吗? –