对UITableViewCell contentView的AutoLayout约束不受尊重
我正在尝试创建动态调整表格视图单元格。 我通过使用这个非常详细和有用的答案完成了resize。
但是,在heightForRowAtIndexPath
未正确计算标签的最大宽度。
我的单元格目前在其contentView
只有一个标签,约束设置为将所有标签边缘固定到contentView
边缘。 这就是我在IB中所拥有的
使用heightForRowAtIndexPath
的offscreen单元格计算单元格大小
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
在此过程中,似乎它正在label.preferredMaxLayoutWidth
约束,并且label.preferredMaxLayoutWidth
属性被设置为320,但是当标签实际被渲染时,仍然存在填充。
填充是布局边距。 你必须要注意Constrain to margins
选项。
Constrain to margins
已启用:
Constrain to margins
是禁用的:
如何禁用它?
- 您可以双击其中一个约束并取消选中
Relative to margin
选项:
- 在创建标签约束时取消选中
Constrain to margins
:
相关链接:
什么是Xcode 6中的Storyboard中的“约束到边距”
- Cocoapod 0.38.0和AFNetworking 2.5 AF_APP_EXTENSIONS编译错误
- UIViewController子类的Swift协议
- iPhone到MS SQL图像数据types转换问题
- 如何检索iOS中的ssl服务器证书?
- 无法重现App Store审查小组所具有的(IPv6?)连接问题
- 在UITableviewcell的ios 11 layoutsubview子视图中找不到UITableViewCellDeleteConfirmationView?
- 使用DSL简化您的Objective-C代码
- 如何将Firebase下载文件与进度视图相关联?
- 滚动到iOS 7中不稳定的UITextView底部