Ios 自定义范围滑块隐藏在表视图中

Ios 自定义范围滑块隐藏在表视图中,ios,swift,xcode,uitableview,storyboard,Ios,Swift,Xcode,Uitableview,Storyboard,我使用本教程在iOS项目中创建了一个自定义范围滑块: 使用Xcode 10.1和Swift 4.2.1 唯一的区别是,我删除了viewdilayoutsubviews()部分,因为我是在情节提要中完成的。在这里,我在故事板中放置了一个UIView,设置了它的约束,将它的类设置为RangeSloider,并创建了一个@ibvar RangeSloider:RangeSloider在视图控制器中 我使用的是静态表格视图,但具有动态单元格高度: override func viewDidLoad()

我使用本教程在iOS项目中创建了一个自定义范围滑块:

使用Xcode 10.1和Swift 4.2.1

唯一的区别是,我删除了
viewdilayoutsubviews()
部分,因为我是在情节提要中完成的。在这里,我在故事板中放置了一个UIView,设置了它的约束,将它的类设置为
RangeSloider
,并创建了一个
@ibvar RangeSloider:RangeSloider在视图控制器中

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

override func viewDidLoad() {
    ...
    self.tableView.rowHeight = UITableView.automaticDimension
    self.tableView.estimatedRowHeight = 80.0
}
如果我改变字体大小,单元格的高度会得到调整,这正是我想要的,但不知何故,带有RangeSlaider的单元格覆盖了RangeSlaider的一半。不管我是否使用字体大小、旋转屏幕等等,它总是被覆盖的


有人能帮忙吗?我遗漏了什么吗?

要使自动标注起作用,必须从
contentView
的顶部到底部有一个完整的约束链,并且该链中的每个项目都需要有一个明确的高度或一个内在的contentsize


从教程中我可以看出,他们没有为自定义滑块定义一个新的滑块。UIKit提供的控件的宽度和高度约束等于其intrinsicContentSize(如果您不以其他方式对其进行约束)。因此,1)实现
intrinsicContentSize
或2)手动将固定高度约束添加到tableViewCell的内容视图的顶部和底部约束中

由于
UITableViewlCell
中没有字体,因此它不会针对给定字体调整大小。
自动尺寸
.estimateDroweight
不会真正“强制”高度。此外,滑块的高度非常小,只有几个像素。它“正确”调整大小,因为根据函数,滑块装入单元格所需的高度不多。@Craz1k0ek我已从RangeSloider(viewDidLoad中的print语句)记录了高度。上面写着30分。上面一个单元格的默认滑块的高度为31点。所以我不明白的是,为什么上面的单元格会自我扩展,这样滑块就可以插入,但是另一个带有自定义滑块的单元格却不想扩展它的高度。啊哈,是的,这很有意义,当然它可以工作,在UIView上使用了大小限制。该单元格的其他“自上而下约束”已设置。缺少最后一个高度约束。谢谢
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableView.automaticDimension
}