Ios UITableView上的某些单元格赢了';自动调整大小

Ios UITableView上的某些单元格赢了';自动调整大小,ios,swift,uitableview,Ios,Swift,Uitableview,我正在经历一个非常奇怪的现象。我在我的tableview上使用AutomaticDimension函数,出于某种奇怪的原因,它在我的所有单元格(3除外)上都有效。我所有的细胞都有完全相同的限制,这是奇怪的部分。我已尝试更改单元格上的约束,但它们似乎被忽略。任何洞察都会很好。我确保在viewdidload中调用自动标注功能 override func viewDidLoad() { super.viewDidLoad() self.TableView.dataSource =

我正在经历一个非常奇怪的现象。我在我的tableview上使用AutomaticDimension函数,出于某种奇怪的原因,它在我的所有单元格(3除外)上都有效。我所有的细胞都有完全相同的限制,这是奇怪的部分。我已尝试更改单元格上的约束,但它们似乎被忽略。任何洞察都会很好。我确保在viewdidload中调用自动标注功能

override func viewDidLoad() {
    super.viewDidLoad()


    self.TableView.dataSource = self

    TableView.estimatedRowHeight = 200.0
    TableView.rowHeight = UITableViewAutomaticDimension
}
以下是一个不起作用的类:

class foursleepCell: UITableViewCell {
@IBOutlet weak var foursleepLabel: UILabel!
@IBOutlet weak var foursleepScale: UISegmentedControl!

var delegate: foursleepCellToController?

@IBAction func foursleepValueChanged(_ sender: UISegmentedControl) {
    if let delegate = delegate {
        let indexPath = delegate.indexOfChangedfoursleepCell(at: self)
        delegate.savefoursleepCellResponse(at: indexPath, response: foursleepScale.selectedSegmentIndex)
    }
}
}
附件是约束和输出的图像:


我认为您尝试将单元格设置为自动调整大小的方式没有任何问题,只是在运行时不存在调整大小所需的自上而下的约束。显然,在Xcode中有时会发生这种情况——尝试创建一个新的表视图单元格,然后从头开始设置所有视图和约束。将“表视图”单元格复制粘贴到新单元格中并从副本中进行操作并没有解决我的问题—它的行为完全相同。但是设置为“新鲜”就成功了。

我也遇到了同样的问题(几天前问了一个类似的问题,但没有得到答案)。根据您的图片,一些约束在运行时并不存在。我猜这就是问题的根源——没有自上而下的约束,自动调整大小无法工作。你能试着将EstimateDrowEight设置为40吗?我试过了。没有修复任何问题如果您使用UITableViewAutomaticDimension,我认为没有必要给出estimatedRowHeight,因为UITableViewAutomaticDimension正在处理您的estimatedRowHeight。