我正在经历一个非常奇怪的现象。我在我的 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)
}
}
}
附上约束和输出的图片:
Label Constraints
Segmented Control Constraints
Actual Output
Working Output
Best Answer-推荐答案 strong>
我认为您尝试将单元格设置为自动调整大小的方式没有任何问题,只是不存在调整大小所需的从上到下的约束在运行时。显然这是在 Xcode 中有时会发生的事情 - 尝试创建一个新的表格 View 单元格并从头开始重新设置所有 View 和约束。将表格 View 单元格复制并粘贴到新单元格中并从副本中工作对我来说并没有解决它 - 它的行为完全相同。但是重新设置它就可以了。
关于ios - UITableView 上的某些单元格不会自动调整大小,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/45292759/
|