Ios Xcode情节提要-具有多行标签的多堆栈视图

Ios Xcode情节提要-具有多行标签的多堆栈视图,ios,xcode,user-interface,storyboard,Ios,Xcode,User Interface,Storyboard,刚刚开始在Xcode中开发iOS应用程序 在故事板中我有八组标签,它们需要放在水平/垂直堆栈视图中。其中之一是多行标签,即行设置为2,文本有一个用Ctrl+Enter插入的换行符。 我想要实现的是(更多的是概念性说明,而不是视觉说明): 堆栈视图1应与屏幕一样宽。 堆栈视图2和3应展开以填充屏幕宽度的一半。两者都应相应扩大。 标签4,6,8应展开以填充堆栈视图的剩余宽度3,而3,5,7的宽度应仅足以容纳文本 我将对最外层的水平堆栈视图使用约束来拥抱边缘 将单行标签添加到堆栈视图中,甚至将这些堆

刚刚开始在
Xcode
中开发
iOS
应用程序

故事板中
我有八组
标签
,它们需要放在水平/垂直
堆栈视图中
。其中之一是多行
标签
,即行设置为
2
,文本有一个用Ctrl+Enter插入的换行符。

我想要实现的是(更多的是概念性说明,而不是视觉说明):

堆栈视图1
应与屏幕一样宽。
堆栈视图
2
3
应展开以填充屏幕宽度的一半。两者都应相应扩大。
标签
4
6
8
应展开以填充
堆栈视图的剩余宽度
3
,而
3
5
7
的宽度应仅足以容纳文本

我将对最外层的水平
堆栈视图使用约束来拥抱边缘

将单行
标签
添加到
堆栈视图
中,甚至将这些
堆栈视图
添加到
堆栈视图
中也可以按预期工作。

但是,将单行
标签
和多行
标签
添加到
堆栈视图
会导致
堆栈视图
变为零
宽度

将此垂直
堆栈视图
添加到另一个
堆栈视图
会使新的
堆栈视图
非常宽
宽度

在没有多行
标签的情况下执行相同操作,效果与预期一样。如何使用多行
标签
实现预期布局

我尝试在
堆栈视图上设置约束,但我尝试过的一切似乎都不起作用


编辑:我在这里找到了解决方案:。我的问题不是有多个
标签
(我之前正在搜索),而是多行
标签
。在添加到
堆栈视图之前,将多行
标签
嵌入
视图
,解决了这个问题。

最外层的堆栈视图需要3个约束,顶部、前导和尾部。它将根据其contentSize推断高度约束

您需要在子堆栈视图上设置水平内容拥抱和水平内容压缩值,以便最外层的堆栈视图知道在空间太小/太大时要压缩/扩展哪个堆栈(除非您选择与填充不同的分发方法,如大小相等)


您需要对具有多个标签的StackView执行相同的操作。您还应该正确设置标签行为(即换行、收缩到合适、数字线等)。

您可以分享您的故事板吗?尝试设置约束但没有成功。。。具体到我的情况,顺序是什么?这些是正确的约束条件。是否为每个子视图设置了水平内容拥抱和内容压缩?我不能告诉您在这里使用什么值,因为我不知道标签宽度的目的是什么。使用StackView时,您需要1)固定比例的视图或间距,或2)了解当空间增大或减小时元素将如何收缩和扩展,以便可以相应地设置内容属性。在添加到视图之前,将多行
标签嵌入
视图中
StackView
解决了这个问题。
+---------------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    | | |
|                         | | +-------+-----------+ | |
|                         | +-----------------------+ |
+-------------------------+---------------------------+