Ios 使用.xib设计自调整大小的UITableViewCell,单元格不';t在interface builder中自行调整

Ios 使用.xib设计自调整大小的UITableViewCell,单元格不';t在interface builder中自行调整,ios,xib,Ios,Xib,我正在尝试使用.xib文件设计一个自调整大小的UITableViewCell。但是,单元格不会根据其内容子视图调整其高度。我必须手动调整电池。如果单元太大,将拉伸子视图以填充单元。如果单元格太小,interface builder会发出一些约束错误警报 UI在运行时正确,但在设计时损坏 使用.storyboard文件设计自调整大小的单元格时,效果非常好。细胞可以自动生长或收缩 这是.xib文件的限制吗?还是我遗漏了什么?如果设置了适当的约束,UILabel将根据设置的约束及其内容设置其高度

我正在尝试使用.xib文件设计一个自调整大小的UITableViewCell。但是,单元格不会根据其内容子视图调整其高度。我必须手动调整电池。如果单元太大,将拉伸子视图以填充单元。如果单元格太小,interface builder会发出一些约束错误警报

UI在运行时正确,但在设计时损坏

使用.storyboard文件设计自调整大小的单元格时,效果非常好。细胞可以自动生长或收缩


这是.xib文件的限制吗?还是我遗漏了什么?

如果设置了适当的约束,UILabel将根据设置的约束及其内容设置其高度和宽度

你需要做的就是

对于第一个标签,需要设置前导、顶部和尾部约束 对于第二个标签,需要为superview设置前导、顶部约束和第一个约束的底部,以及最后的尾随和底部约束

不要忘记在属性检查器中将行数设置为零&换行模式设置为换行

还需要设置以下内容

我们可以认为它是一个“限制”…但这更多的是一个“设计”的问题

在故事板(包括原型单元)中布局UI元素时,Interface Builder(IB)会做大量额外的工作。例如,可以更改方向,原型单元将自动扩展其宽度

但是,在开发XIB时,IB不会自行更改根视图的大小。可以把它想象成IB在说“你在设计一个XIB,你知道你在做什么,你确切地知道你想要什么。”

虽然遵循IB的建议并消除任何“约束错误警报”通常是个好主意,但这并不是必需的

在XIB中设计单元格(或其他视图)时,存在无法消除所有约束警告的合法实例。例如,如果我在我的cell XIB中放置了一个
UIScrollView
,但是滚动视图在运行时之前不会有任何内容,IB会告诉我它有“不明确的可滚动内容大小”。在这种情况下,我知道我的约束是正确的,我知道,在运行时添加和约束子视图之前,不会定义内容大小。。。所以我可以忽略这个警告

如果您发现手动调整单元格大小很麻烦,但看不到约束警告,您可以(在本例中)如果最底层的约束为零,将其优先级设置为999,或将其设置为
=0
。。。或者,将“歧义”选项更改为:

或:


第一个设置第一个标签的顶部、左侧、右侧约束,以及第二个标签的底部、顶部、右侧、左侧约束和单元格

 Set Lines of labels to 0 then it will work as you are expecting.