Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向collectionview单元格添加约束时无法保持其固定大小';s子视图,即UILabel_Ios_Swift_Uicollectionview - Fatal编程技术网

Ios 向collectionview单元格添加约束时无法保持其固定大小';s子视图,即UILabel

Ios 向collectionview单元格添加约束时无法保持其固定大小';s子视图,即UILabel,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我有一个包含UILabel的水平集合视图。我在委托方法中提到了集合视图单元格的大小 并将前导、尾随、高度和垂直中心约束添加到该标签,如下图所示 但在输出中,标签的宽度也会根据文本和集合视图单元格大小而增加或减少 我希望保持集合视图单元格的大小固定,如委托方法中所述 我怎样才能做到这一点呢?有两件事 首先,听起来您可能正在为标签添加宽度约束,该约束等于标签的文本宽度。该宽度约束将强制单元格展开以满足前导、尾随和现在宽度约束的要求。相反,使宽度约束等于标签应具有的宽度 其次,将标签的.nu

我有一个包含UILabel的水平集合视图。我在委托方法中提到了集合视图单元格的大小

并将前导、尾随、高度和垂直中心约束添加到该标签,如下图所示

但在输出中,标签的宽度也会根据文本和集合视图单元格大小而增加或减少

我希望保持集合视图单元格的大小固定,如委托方法中所述

我怎样才能做到这一点呢?

有两件事

首先,听起来您可能正在为标签添加宽度约束,该约束等于标签的文本宽度。该宽度约束将强制单元格展开以满足前导、尾随和现在宽度约束的要求。相反,使宽度约束等于标签应具有的宽度

其次,将标签的.numberOfRows属性设置为0。这将使标签分成多条水平线,而不是变宽

编辑: 另一个可能有帮助的方法是将标签上的
水平压缩阻力
属性调整为249或更低

首先,听起来您可能正在为标签添加宽度约束,该约束等于标签的文本宽度。该宽度约束将强制单元格展开以满足前导、尾随和现在宽度约束的要求。相反,使宽度约束等于标签应具有的宽度

其次,将标签的.numberOfRows属性设置为0。这将使标签分成多条水平线,而不是变宽

编辑:
另一个可能有帮助的方法是将标签上的
水平压缩阻力
属性调整为249或更低的值。

我想是相反的吗?没有设置宽度约束,因此标签将展开,单元格也将随之展开。通过设置宽度约束,标签将被强制为特定的大小,因此单元格将被强制为标签的大小加上前导和尾随边距。这是真的,我错误地解释了这一点。我的意思是你不应该有一个等于标签宽度的宽度约束。您可以有一个宽度约束,但它必须是一个基于单元格宽度的设置值。我更新了答案,以反映出我认为它是相反的?没有设置宽度约束,因此标签将展开,单元格也将随之展开。通过设置宽度约束,标签将被强制为特定的大小,因此单元格将被强制为标签的大小加上前导和尾随边距。这是真的,我错误地解释了这一点。我的意思是你不应该有一个等于标签宽度的宽度约束。您可以有一个宽度约束,但它必须是一个基于单元格宽度的设置值。我更新了答案以反映这一点