我有一个类PostListTableCell,继承UITableViewCell,它在UITableView中用作我的自定义单元格.
我需要在单元格中调整一些标签的大小,所以我调用了以下方法
- (void)layoutSubviews {
[super layoutSubviews];
[_titleLabel sizeToFit];
}
但问题是,当加载UITableView时,_titleLabel不会调整大小:
但是在我单击此单元格并选择它之后,标题确实调整了大小:
以下是加载数据的代码:
- (PostListTableCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *PostListTableCellIdentifier = @"PostListTableCell";
PostListTableCell *cell = (PostListTableCell*) [tableView dequeueReusableCellWithIdentifier:PostListTableCellIdentifier];
if (cell == nil) {
cell = [[PostListTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:PostListTableCellIdentifier];
}
Post *post = (Post*)_posts[indexPath.row];
[cell loadPost:post];
return cell;
}
有人可以帮忙吗?
最佳答案 问题是自动布局使用您在Interface Build中创建标签时设置的约束再次调整标签大小,不幸的是在自动布局下,层次结构是约束>帧