在UILabel
内设置preferredMaxLayoutWidth
的{{1}}属性时,我在UILabel
中有一些奇怪的边距。你知道这样的行为吗?
我添加UITableViewCell
就像那样:
preferredMaxLayoutWidth
结果是这样的:
如您所见,标题标签的边距为- (void)layoutSubviews {
self.titleLabel.preferredMaxLayoutWidth = self.titleLabel.frame.size.width;
[self.titleLabel sizeToFit];
self.shortDescriptionLabel.preferredMaxLayoutWidth = self.shortDescriptionLabel.frame.size.width;
[self.titleLabel sizeToFit];
[super layoutSubviews];
}
,我不知道它们的来源。
我已经尝试拨打14px
,但这没有用。
答案 0 :(得分:1)
这里的问题是标签的宽度被设置为故事板或xib的宽度(它是实例化的(检查layoutSubviews内部的宽度,你会发现它是非常错误的)。您必须在此之外设置preferredMaxLayoutWidth
。我最终做的是将preferredMaxLayoutWidth
设置为tableView的宽度减去标签的任何填充(我使用了约束组),这应该与单元格相同宽度。
因此,您需要以下方法进行单元格配置(从tableView:cellForRowAtIndexPath:
和tableView:heightForRowAtIndexPath:
调用