UIScrollView滚动条的宽度和高度?

时间:2019-02-06 19:46:14

标签: swift uiscrollview scrollbar

是否可以在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} )

除非我知道对这些值进行硬编码有一天会给我带来麻烦,这就是为什么我想要参考。谢谢!

1 个答案:

答案 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

我只做了快速测试,但是看起来很可靠。