![](/img/trans.png)
[英]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.