1. 真机上分割线有时候显示有时候不显示的问题
因为你在cell的layoutSubviews方法里面没有写上[super layoutSubviews];
2. uitableviewcell高度自适应
以前使用UITableView+FDTemplateLayoutCell在代理里面计算高度,新版的方法只需要设置uitableiview的两个属性
self.tableView.estimatedRowHeight = 100;
self.tableView.rowHeight = UITableViewAutomaticDimension;
不用在实现- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath的代理方法了,否则会影响高度的计算。
另外需要注意的是,用masonry配合UITableViewCell使用,会报约束冲突的问题,是因为你还是用了之前的方法,实现heightForRowAtIndexPath来计算高度,把该方法去掉就行。
3.当隐藏导航栏的时候,tableview上面和界面会出现20像素的空白
解决方法:
if (@available(iOS 11.0, *)) {
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
4.iOS 11设置了contentInsetAdjustmentBehavior 后上下滑动会抖动
if (@available(iOS 11.0, *)) {
[UITableView appearance].estimatedRowHeight = 0;
[UITableView appearance].estimatedSectionHeaderHeight =0;
[UITableView appearance].estimatedSectionFooterHeight =0;
[UITableView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
[UIScrollView appearance].contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;
}
未完待续
网友评论