W.K*_*K.S 1 uitableview ios ios-autolayout uitableviewautomaticdimension
我有一个UITableViewCell固定在底部的描述标签,如下所示:

点击描述标签可在和numberOfLines之间切换:30
- (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];
}
Run Code Online (Sandbox Code Playgroud)
当我点击标签时,行数确实发生了变化,但单元格不会扩展以容纳新的行数。我该如何解决?
折叠(默认):
扩展:
如果您正确设置了约束,则不需要重新加载数据——不需要重新加载整个表,甚至不需要重新加载受影响的行。
最好的方法是将委托函数添加回您的表视图控制器,然后连续调用这些行:
tableView.beginUpdates()
tablebleView.endUpdates()
Run Code Online (Sandbox Code Playgroud)
这将告诉自动布局重新计算行高。
编辑:检查我的答案 - 其中包括演示项目的链接 - 此处:使用“更多”按钮(如 Instagram)扩展 UITableView 内的 UILabel
| 归档时间: |
|
| 查看次数: |
1302 次 |
| 最近记录: |