Ios 带有tableview和uilabel的xcode swift约束问题
我已经在早些时候发布了这篇文章,但无法得到关于如何解决我的问题的答案,所以我正在再次尝试。希望有比我更了解约束条件的人能帮上忙 简单地说,我有一个带有UITableView的UIViewController。其中一个单元格包含到的标签。我试图弄清楚当文本被包装时,如何调整第二个UILabel的大小 以下是截图: 我已经尝试过了,而且有人向我解释过,在LabelBio上有四个约束条件Ios 带有tableview和uilabel的xcode swift约束问题,ios,swift,xcode,uitableview,constraints,Ios,Swift,Xcode,Uitableview,Constraints,我已经在早些时候发布了这篇文章,但无法得到关于如何解决我的问题的答案,所以我正在再次尝试。希望有比我更了解约束条件的人能帮上忙 简单地说,我有一个带有UITableView的UIViewController。其中一个单元格包含到的标签。我试图弄清楚当文本被包装时,如何调整第二个UILabel的大小 以下是截图: 我已经尝试过了,而且有人向我解释过,在LabelBio上有四个约束条件 导致superview-我尝试了边距和superview 跟踪到superview 拉贝尔斯林福酒店 高度>=
谢谢你的帮助 你已经完成了大部分工作
将Labelbio的底部约束添加到contentView应该足以使contentView计算其高度 你已经完成了大部分工作
将Labelbio的底部约束添加到contentView应该足以使contentView计算其高度 让我们将其分为三个问题:
ui标签
垂直展开以容纳任意文本TableViewCell
子类垂直展开以容纳任意内容UILabel
垂直展开以容纳任意文本
定义ui标签时,请确保执行以下操作:
label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping
这将告诉您的标签不要使用明确提供的行数,并在单词边界处自然地打断提供的文本。结合固定或最大宽度,这将为标签创建隐式的行数(从而隐式的高度)
查看更多信息
使TableViewCell
子类垂直展开以容纳任意内容
苹果包括一个特殊的功能。重要的部分是在表视图中(而不是在表视图单元格中)设置这两个属性:
设置这两个属性后,表视图单元格将使用自动布局来确定其高度
使两者协同工作
您的表视图单元格现在正在查看其内容以提供隐式高度。您需要创建一个从单元顶部到底部的完整约束链,以将它们分开到正确的高度。在图像的示例中:
- 将标签ellerInfo约束到superview上边距
- 将
labellerinfo
底部约束到LabelBio
顶部(加上任何边距)
- 约束
LabelBio
bottom到superview底部边距
您还应该以某种方式约束LabelBio
的宽度或前缘和后缘;你在图像中显示的内容很好。综上所述,这些设置和约束将创建自动调整大小的表格视图单元格,其中包含一个基于文本更改高度的LabelBio
。让我们将其分为三个问题:
制作ui标签
垂直展开以容纳任意文本
使TableViewCell
子类垂直展开以容纳任意内容
使两者协同工作
使UILabel
垂直展开以容纳任意文本
定义ui标签时,请确保执行以下操作:
label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping
这将告诉您的标签不要使用明确提供的行数,并在单词边界处自然地打断提供的文本。结合固定或最大宽度,这将为标签创建隐式的行数(从而隐式的高度)
查看更多信息
使TableViewCell
子类垂直展开以容纳任意内容
苹果包括一个特殊的功能。重要的部分是在表视图中(而不是在表视图单元格中)设置这两个属性:
设置这两个属性后,表视图单元格将使用自动布局来确定其高度
使两者协同工作
您的表视图单元格现在正在查看其内容以提供隐式高度。您需要创建一个从单元顶部到底部的完整约束链,以将它们分开到正确的高度。在图像的示例中:
- 将标签ellerInfo约束到superview上边距
- 将
labellerinfo
底部约束到LabelBio
顶部(加上任何边距)
- 约束
LabelBio
bottom到superview底部边距
您还应该以某种方式约束LabelBio
的宽度或前缘和后缘;你在图像中显示的内容很好。综上所述,这些设置和约束将创建自动调整大小的表格视图单元格,其中包含一个基于文本更改高度的LabelBio
。检查下面的答案,我还认为LabelBio缺少superview的底部约束,并确保您也使用了estimatedRowHeight…检查我的示例项目:。约束是以单元格基于UITextView input.OMG展开的方式设置的,谢谢