Ios 多行标签和具有UIStackView的图像

Ios 多行标签和具有UIStackView的图像,ios,uistackview,Ios,Uistackview,我试图看看是否可以轻松使用UIStackView创建多行标签并显示图像 以下是我目前的限制。 当我运行它时,我得到以下信息: 如果我删除imageview,则多行操作正常。不知何故,视野的宽度和高度把一切都搞砸了。我做错了什么?StackView不能很好地处理约束,因为它们破坏了堆栈视图的用途。由于垂直内部堆栈视图位于水平堆栈视图和图像视图的内部。当您给出imageView硬约束时,为了满足这些约束,并保持stackView的高度和宽度值与imageView和内部stackView处于同一级

我试图看看是否可以轻松使用UIStackView创建多行标签并显示图像

以下是我目前的限制。

当我运行它时,我得到以下信息:


如果我删除imageview,则多行操作正常。不知何故,视野的宽度和高度把一切都搞砸了。我做错了什么?

StackView
不能很好地处理约束,因为它们破坏了堆栈视图的用途。由于垂直内部
堆栈视图
位于水平
堆栈视图
图像视图
的内部。当您给出
imageView
硬约束时,为了满足这些约束,并保持
stackView
的高度和宽度值与
imageView
和内部
stackView
处于同一级别,内部
stackView
无法展开,其高度也无法获得所需的行为。因此,正如评论中所提到的,最好在没有
stackview
的情况下实现您的设计


PS:我不是说StackView不能与子视图中的约束一起使用。这是可以做到的,有时允许程序员成功地实现他们的目标,但由于有关视图的约束与stackView中的约束冲突,您总是会收到调试器警告。

stackView
实际上不能很好地处理约束,因为它们破坏了堆栈视图的用途。由于垂直内部
堆栈视图
位于水平
堆栈视图
图像视图
的内部。当您给出
imageView
硬约束时,为了满足这些约束,并保持
stackView
的高度和宽度值与
imageView
和内部
stackView
处于同一级别,内部
stackView
无法展开,其高度也无法获得所需的行为。因此,正如评论中所提到的,最好在没有
stackview
的情况下实现您的设计


PS:我不是说StackView不能与子视图中的约束一起使用。这是可以做到的,有时允许程序员成功地实现他们的目标,但由于stackView中的视图约束与视图约束冲突,您将始终收到调试器警告。

更改imageView的高度和宽度以提供适当的外观,而不是为stackView提供固定的高度,只提供顶部、底部、,领先和落后。

这就是它的样子

更改imageView的高度和宽度以提供适当的外观,不要为stackview提供固定高度,只提供顶部、底部、前导和尾随。

这就是它的样子

堆栈视图是否水平并嵌入在UITableView单元格中,其中包含另一个嵌入的垂直堆栈视图?我想当你躺着的时候会有很多额外的人手。我可能会尝试丢失第二个嵌套的垂直堆栈,然后计算单元格的高度。没错。我有一个UITableViewCell。在单元格内,我有一个父堆栈视图。在stackview中,我有另一个包含标签的垂直stackview。在父stackview中,我还有uiimageview。如果我松开垂直堆栈视图,则uilabels将不会垂直对齐。在我个人看来,这两个堆栈视图都是不必要的。我认为您可以通过布局约束实现您想要的,并将子视图直接添加到单元格中。是的!我能够轻松地完成这项工作,而无需任何额外的观察。我只是想看看使用UIStackView是否更容易。我想不是。你的堆栈视图是水平的,并且嵌入在一个UITableView单元格中,其中有另一个嵌入的垂直堆栈视图吗?我想当你躺着的时候会有很多额外的人手。我可能会尝试丢失第二个嵌套的垂直堆栈,然后计算单元格的高度。没错。我有一个UITableViewCell。在单元格内,我有一个父堆栈视图。在stackview中,我有另一个包含标签的垂直stackview。在父stackview中,我还有uiimageview。如果我松开垂直堆栈视图,则uilabels将不会垂直对齐。在我个人看来,这两个堆栈视图都是不必要的。我认为您可以通过布局约束实现您想要的,并将子视图直接添加到单元格中。是的!我能够轻松地完成这项工作,而无需任何额外的观察。我只是想看看使用UIStackView是否更容易。我想不是。