UITableView内视图对象约束不生效是什么原因?
可能的原因及对应解决方法
- 未开启UITableView自动行高计算
UITableView默认使用固定行高,不会根据cell内部内容自动调整高度,需要在视图加载时配置自动行高参数,在viewDidLoad中添加以下代码:tableView.rowHeight = UITableView.automaticDimension tableView.estimatedRowHeight = 120 // 数值可根据你的cell预期高度调整 - cell内部视图约束未绑定到contentView
UITableViewCell的所有子视图必须约束到cell的contentView而非cell本身,同时必须补全垂直方向的上下约束,系统才能正确计算cell高度。检查Storyboard中cell内的图片、标签的约束,确保所有视图的上下左右约束都对应contentView,没有缺失垂直方向的约束。 - 多行显示的标签未配置行数属性
UILabel默认numberOfLines为1,内容超出后只会显示一行,无法撑开高度。需要在Storyboard中将需要换行的标签(比如你的tagsLabel)的numberOfLines设置为0,也可以在cellForRow方法中添加代码配置:cell.tagsLabel.numberOfLines = 0 - 存在冲突的多余约束
检查Storyboard中是否给cell内的视图添加了固定高度/宽度约束,和上下边距约束形成冲突,导致约束优先级报错失效,删除不需要的固定尺寸约束即可。
内容的提问来源于stack exchange,提问作者forginSpell
相关产品推荐
相关产品推荐

