是否可以在UIScrollView中引用滚动条的宽度和高度?我看到了内容大小和内容偏移,但似乎都没有帮助。
TL; DR
为了跟踪我添加到UIScrollView
的视图的最低Y位置,我使用:
lowestView = scrollView.subviews.sorted(by: { $0.frame.maxY < $1.frame.maxY }).last?.frame.maxY ?? 0
但是,这没有考虑到UIScrollView
已经包含滚动条的两个子视图这一事实-当然,这会扰乱上述计算。
我真正想做的是从子视图中过滤滚动条。看起来像这样:
let goodViews = scrollView.subviews.filter( {$0.frame.height > 7 && $0.frame.width > 7} )
除非我知道对这些值进行硬编码有一天会给我带来麻烦,这就是为什么我想要参考。谢谢!
答案 0 :(得分:0)
这是一个选项:
let bv = scrollView.showsVerticalScrollIndicator
let bh = scrollView.showsHorizontalScrollIndicator
scrollView.showsVerticalScrollIndicator = false
scrollView.showsHorizontalScrollIndicator = false
let lowestView = scrollView.subviews.sorted(by: { $0.frame.maxY < $1.frame.maxY }).last?.frame.maxY ?? 0
scrollView.showsVerticalScrollIndicator = bv
scrollView.showsHorizontalScrollIndicator = bh
我只做了快速测试,但是看起来很可靠。