[英]Background pattern jumping when animating UIScrollView.contentOffset manually
[英]Is there a 'willSet' & 'didSet' I can intercept for UIScrollview.contentOffset?
我遇到一种情况,当contentOffset.y
为负值时,我需要优雅地移动框架。
问题是我不希望在内容已经降至0以下之后再调用contentOffset
。
在UIScrollView
偏移其内容之前,是否有willSet
调用可在其中进行拦截?
看来,这可行:
class MyScrollView: UIScrollView {
override var contentOffset:CGPoint {
willSet {
println("newOffset: \(newValue)")
}
}
}
在UIScrollView
的子类中,只需重写contentOffset
的willSet
。 似乎在layoutSubviews()
之前调用了它。
您可以快速轻松地添加willSet。 只是子类UIScrollView,并且仅重写它,就像这样。 显然,您除了println之外还想做些其他事情,但是我确认在didScroll委托之前确实可以执行此操作。 我不知道它将解决您的动画问题,但这就是您要的。
import UIKit
class MyScrollView: UIScrollView {
override var contentOffset: CGPoint { willSet { println("old value \(newValue)") } }
}
您可以使用委托方法scrollViewDidScroll
或scrollViewWillBeginDecelerating
并拦截contentOffset.y
。 希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.