UITableViewCell 约束
Posted
技术标签:
【中文标题】UITableViewCell 约束【英文标题】:UITableViewCell Constraints 【发布时间】:2016-04-04 07:06:27 【问题描述】:所以我一直在尝试制作包含图像和标签的 UITableViewCell
的自定义布局,如下图所示。
主要的问题是压缩和拥抱我没有把手指放在它上面,我不明白为什么图像会膨胀,我已经改变了两者的压缩和拥抱
图像设置:
标签设置:
关于如何修复标签缩小的任何建议?
【问题讨论】:
您不必同时给出Top
+ Bottom
和Align Centre Y
约束。如果Top
和Bottom
约束常量的值不同,它们可能会发生冲突。
不能把图片设为固定宽度?
【参考方案1】:
内容拥抱是按比例缩放的,因此更大的数字意味着“做更多的拥抱”。换句话说,您的标签(内容拥抱优先级 = 251)将尝试使其大小与内容大小相匹配,而不是您的图像(内容拥抱优先级 = 249)。
要做你想做的事,你需要相反的优先级。
也就是说,如果您将图像设置为固定宽度或固定纵横比,您可能会发现布局会更好,否则当它们在表格中时看起来会很奇怪。如果这样做,则无需调整拥抱优先级,因为一切都会受到限制。
另外,@matthews 是对的,您应该摆脱 Center Y 约束,因为它与 Top 和 Bottom 约束一起时毫无意义。
【讨论】:
【参考方案2】:您可以为 ImageView (即前导、顶部、高度(自身)、宽度(自身)和尾随空间设置标签,然后为标签(即顶部、尾随和高度本身)设置约束。希望它会按照您的要求工作。
【讨论】:
【参考方案3】:希望对您有所帮助:
对于UIImageView
对于UILabel
使用下面的代码来调整大小的单元格
tableView.estimatedRowHeight = 100.0
tableView.rowHeight = UITableViewAutomaticDimension
【讨论】:
以上是关于UITableViewCell 约束的主要内容,如果未能解决你的问题,请参考以下文章
将 UITable 中 UITableViewCell 中子视图中对象的 CGRect 转换为相对于 self.view 的 CGRect
保存后 UITableViewCell 和 Coredata 上的 UIImage 的方向发生了变化