有没有引用滚动条的宽度和高度,在一个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} )
除非我知道,硬编码这些值将我带来麻烦有一天,这就是为什么我想引用来代替。谢谢!
下面是一个选项:
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
我只是做了一个快速测试,但似乎可靠。