【发布时间】:2017-04-05 12:29:11
【问题描述】:
我有一个UITableViewCell,底部有一个描述标签,如下所示:
点击描述标签可在3 和0 之间切换numberOfLines:
- (void)awakeFromNib {
[super awakeFromNib];
[self setupView];
}
-(void) setupView
{
UITapGestureRecognizer * gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleNumberOfLines)];
self.jobDescriptionLabel.userInteractionEnabled = YES;
[self.jobDescriptionLabel addGestureRecognizer:gestureRecognizer];
}
- (void) toggleNumberOfLines {
if(self.jobDescriptionLabel.numberOfLines != 0){
self.jobDescriptionLabel.numberOfLines = 0;
}else{
self.jobDescriptionLabel.numberOfLines = kNumberOfLines;
}
[self.jobDescriptionLabel sizeToFit];
[self layoutIfNeeded];
}
当我点击标签时,行数会发生变化,但单元格不会扩展以适应新的行数。我该如何解决?
折叠(默认):
扩展:
【问题讨论】:
-
仍然无法理解您的实际问题。问题出在标签或展开的 tableView 上??
-
UITableViewAutomaticDimension根据单元格的内容自动计算单元格的高度。就我而言,我正在更新标签的高度,但表格视图不会更新单元格的高度。如何让 tableview 更新单元格的高度 -
您需要强制重新加载表格。首先将调用
HeightOfRow方法,然后调用cellForRow。因此,当调用HeightOfRow方法时,请确保您有一个新的标签高度。请添加您为此完成的代码工作。
标签: ios uitableview ios-autolayout uitableviewautomaticdimension