我已使用此教程在iOS项目中创建了自定义范围滑块:https://www.raywenderlich.com/7595-how-to-make-a-custom-control-tutorial-a-reusable-slider

使用Xcode 10.1和Swift 4.2.1。

唯一的区别是,我已删除了viewDidLayoutSubviews()部分,因为我已在情节提要中完成了它。在这里,我将UIView放在情节提要中,设置其约束,将其类设置为RangeSlider,并在视图控制器中创建了@IBOutlet weak var rangeSlider: RangeSlider!

我正在使用静态表格视图,但具有动态单元格高度:

override func viewDidLoad() {
    ...
    self.tableView.rowHeight = UITableView.automaticDimension
    self.tableView.estimatedRowHeight = 80.0
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableView.automaticDimension
}

如果更改字体大小,则将适应单元格的高度,这是我想要的,但是以某种方式在其中包含rangeSlider的单元格将覆盖rangeSlider的一半。不管我玩字体大小,旋转屏幕等都没关系。它总是被覆盖。

ios - 隐藏在表格 View 中的自定义范围滑块-LMLPHP

有人可以帮忙吗?我想念什么吗?

最佳答案

为了使自动尺寸起作用,必须从contentView的顶部到底部的范围内有不间断的约束链,并且该链中的每个项目都必须具有显式的高度或固有的ContentSize。

从本教程可以看出,它们没有为自定义滑块定义intrinsicContentSize。如果您不对intrinsicContentSize的控件进行其他限制,则UIKit会将其宽度和高度限制等于ojit_a的控件。因此1)实现intrinsicContentSize或2)手动向tableViewCell的内容视图中添加固定的高度限制顶部和底部约束

关于ios - 隐藏在表格 View 中的自定义范围滑块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55127455/

10-10 06:39