我的UITableView里面有一个包含UILabel的原型单元格.我想根据标签中文本的大小动态更改标签(和单元格)的大小.
我在cellForRowAtIndexPath中创建原型单元格,如下所示:
static NSString *CellIdentifier = @"ProgramDetailCell"; ProgramDetailCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; cell.descriptionLabel.text = self.program.subtitle; return cell;
然后我的ProgramDetailCell具有以下实现:
@implementation ProgramDetailCell - (void)layoutSubviews { [super layoutSubviews]; [self.descriptionLabel sizeToFit]; } @end
第一次显示单元格时,会调用layoutSubviews,但不会调整descriptionLabel的大小.但是,如果我向下滚动表并再次备份,则会显示“重复使用”单元格,并正确调整标签大小!
为什么第一次显示单元格时它不起作用 – 我需要做些什么来修复它.
提前致谢!
解决方法
在xib中,转到第一个选项卡,在Interface Builder Document下,取消选中“使用自动布局”框.