gpt4 book ai didi

ios - UITableViewCell 的 contentView 得到不需要的 "height==44"约束

转载 作者:IT王子 更新时间:2023-10-29 08:03:10 42 4
gpt4 key购买 nike

我完全在代码中创建我的 UI,并使用 Masonry 将单元格的内容 View 的 subview 限制到适当的高度。我正在使用

[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height

在 iOS 7 上用于行高,而 iOS 8 自动处理它。

一切在屏幕上看起来都和它应该的一样,但在控制台中我收到大量关于约束冲突的警告,这似乎都是由单元格内容 View 上的未询问和不必要的高度约束引起的(例如 <NSLayoutConstraint UITableViewCellContentView.height == 44> )。

在 iOS 8 上,我正在设置表格 View 的 rowHeight作为UITableViewAutomaticDimension (有效 -1 )但我仍然得到这个约束。我只是在内容 View 和它自己的 subview 之间添加约束,所以内容 View 和单元格本身之间没有约束。

知道这种限制从何而来以及如何消除它吗?

编辑:现在我实际上找到了一种“解决方案”——最初将内容 View 的框架设置为一些荒谬的东西,比如 CGRectMake(0, 0, 99999, 99999) ,在添加 subview 或约束之前,似乎让警告消失了。但这听起来并不像正确的方法,所以有人能说出更好的方法吗?

最佳答案

我遇到了同样的问题并修复了它设置单元格的自动调整大小掩码,如下所示:

override func awakeFromNib() {
super.awakeFromNib()
self.contentView.autoresizingMask = .flexibleHeight
}

同样在 Controller 中,我设置了估计高度并告诉 TableView 使用自动尺寸(在 viewDidLoad 方法中:

    self.tableView.estimatedRowHeight = 120
self.tableView.rowHeight = UITableView.automaticDimension

这些链接有帮助:

http://useyourloaf.com/blog/2014/08/07/self-sizing-table-view-cells.html

Auto layout constraints issue on iOS7 in UITableViewCell

希望这对您有所帮助!

关于ios - UITableViewCell 的 contentView 得到不需要的 "height==44"约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26100053/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com