如何使用 Masonry 自动布局 UItableviewCell 高度
Posted
技术标签:
【中文标题】如何使用 Masonry 自动布局 UItableviewCell 高度【英文标题】:How use Masonry autolayout UItableviewCell height 【发布时间】:2015-08-19 07:14:58 【问题描述】:我正在尝试使用自动布局自动调整表格单元格的大小。但似乎 TableView 忽略了高度限制。
UITableViewCell 中的 UIImage 和 UILabel:
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
self.icon = [[UIImageView alloc] init];
[self.contentView addSubview:self.icon];
[self.icon mas_makeConstraints:^(MASConstraintMaker *make)
make.top.equalTo(self.contentView).with.offset(10);
make.left.equalTo(self.contentView).with.offset(10);
make.width.offset(70);
make.height.offset(70);
// make.bottom.equalTo(self.contentView.mas_bottom).with.offset(-10);
];
self.icon.backgroundColor = [UIColor redColor];
self.customText = [[UILabel alloc] init];
self.customText.text = @"xx11dragon";
self.customText.backgroundColor = [UIColor yellowColor];
self.customText.numberOfLines = 0;
self.customText.lineBreakMode = NSLineBreakByCharWrapping;
[self.contentView addSubview:self.customText];
[self.customText mas_makeConstraints:^(MASConstraintMaker *make)
make.top.equalTo(self.contentView).with.offset(10);
make.left.equalTo(self.icon.mas_right).with.offset(10);
make.right.equalTo(self.contentView.mas_right).with.offset(-10);
// make.bottom.equalTo(self.contentView.mas_bottom).with.offset(-10);
];
在 UITableViewClass 中:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
_cell.title.text = [dict objectForKey:@"title"];
_cell.customText.text = [dict objectForKey:@"content"];
[_cell setNeedsLayout];
[_cell layoutIfNeeded];
CGSize size = [_cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
NSLog(@"%f",size.height);
return size.height + 1;
size.height 等于 0.0f
UITableViewCell 高度等于 UIimage 或 UIlabel 底部+10px,底部如何设置?
【问题讨论】:
【参考方案1】:在 ios 8 中,您可以使用这种方法。
self.tableView.estimatedRowHeight = 100.0;
self.tableView.rowHeight = UITableViewAutomaticDimension;
【讨论】:
以上是关于如何使用 Masonry 自动布局 UItableviewCell 高度的主要内容,如果未能解决你的问题,请参考以下文章