打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
systemLayoutSizeFitting在cell中使用
userphoto

2023.05.04 北京

关注
使用场景
某个tableView A的某个cell A上有一个tableView B,tableView B上的cell高度是动态,要求tableView A的cell A的高度要和tableView B的高度一样。
效果图
0.table嵌套table.jpg
cell A中的核心代码:
- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize withHorizontalFittingPriority:(UILayoutPriority)horizontalFittingPriority verticalFittingPriority:(UILayoutPriority)verticalFittingPriority{ [self.tableView layoutIfNeeded]; CGFloat h = self.tableView.contentSize.height; return CGSizeMake(targetSize.width, h);}
systemLayoutSizeFittingSize方法返回了当前view的宽高
注意:
如果tableView B上的cell高度是动态的,需要设置tableview的estimatedRowheight属性,且尽量小一些,如1。
如果tableView B上的cell高度是固定的,需要设置tableview的sectionHeaderHeight和sectionFooterHeight为0.0。
tableView的代理方法heightForRow方法不实现,才会调用systemLayoutSizeFittingSize
(Cell潜逃tableView还是有问题的,嵌套collectionView没问题)
demo地址:https://github.com/yangguanghei/DynamicTableView.git
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
获取tableview的cell
使用estimatedRowHeight的优缺点
动态改变UITableView的Cell高度
iOS动态改变TableView Cell高度
UITableViewCell详解
ios tableView那些事 (五) 给tableview设置缩进级别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服