我有一种情况,当contentOffset.y
为负值时,我需要优雅地移动框架。
问题是,我不想让contentOffset
电话 AFTER 内容已经被删除到0以下。
是否有willSet
来电,我可以在UIScrollView
抵消其内容之前拦截它?
答案 0 :(得分:2)
看起来,这很有效:
class MyScrollView: UIScrollView {
override var contentOffset:CGPoint {
willSet {
println("newOffset: \(newValue)")
}
}
}
在UIScrollView
的子类中,只需覆盖willSet
的{{1}}即可。似乎在contentOffset
之前调用。
答案 1 :(得分:1)
你可以在swift中轻松添加一个willSet。只是子类UIScrollView并且只覆盖它,就像这样。显然你会想做除了println以外的事情,但我确实在didScroll代表之前肯定会发生这种情况。我不知道它会解决你的动画问题,但这就是你要求的。
import UIKit
class MyScrollView: UIScrollView {
override var contentOffset: CGPoint { willSet { println("old value \(newValue)") } }
}
答案 2 :(得分:0)
您可以使用委托方法scrollViewDidScroll
或scrollViewWillBeginDecelerating
并截取contentOffset.y
。我希望这能帮到你。