这里分享一下苹果iOS8及以后的TableViewCell适配。
iOS8以后苹果推荐的使用UITableView的属性estimatedRowHeight 和rowHeight = UITableViewAutomaticDimension来做TableViewCellView的自动适配功能。
使用方法:
1、首先初始化UITableView时,设置两个属性值
//estimatedRowHeight一般设置为TableViewCellView的默认高度
self.tableView.estimatedRowHeight = 100;
self.tableView.rowHeight = UITableViewAutomaticDimension;
2、去掉默认TableViewCellView的代理函数
//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
//{
// return 100;
//}
3、在对UILabel赋值时设置属性和调用自动适配函数
self.titleLab.text = @"你的内容";
self.titleLab.numberOfLines = 0;
[self.titleLab sizeToFit];
4、如果你是使用xib来做的布局,请使用苹果的constraints,进行布局。
constraints.png
注意:
1、只对UILabel布局上下左右进行限制,不要对高度和宽度做限定
2、不只是对UILabel进行限制,它上下左右对应的控件应该也有限定。不然UILabel相对于父控件还是没有关联,父控件不会因为UILabel的内容的改变而自动适配高度。
其他适配请参考一篇写的比较好的文章
TableViewCell高度自适应
Apple estimatedRowHeight的官方文档
网友评论