我有一個關於UIScrollView的奇怪錯誤。這個視圖工作正常,直到我從窗口中刪除它(間接,它是一個子視圖到一個被刪除的視圖)。UIScrollview contentOffset在從窗口中移除時發生變化
然後我執行一些不相關的動畫;當我把視圖放在那裏的時候,scrollView的contentOffset已經改變了。
我把一個斷點setContentOffset:函數,並得到了下面的堆棧:
#0 -[TestScrollView setContentOffset:] (self=0x915fbd0, _cmd=0x7fb34cd, contentOffset={x = 80, y = -0}) at /Users/../TestScrollView.m:19
#1 0x008670ea in -[UIScrollView(Static) _adjustContentOffsetIfNecessary]()
#2 0x0085db55 in -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:dealloc:pin:]()
#3 0x0084e6ff in -[UIScrollView _didMoveFromWindow:toWindow:]()
#4 0x008444bb in -[UIView(Internal) _didMoveFromWindow:toWindow:]()
#5 0x008444bb in -[UIView(Internal) _didMoveFromWindow:toWindow:]()
#6 0x008444bb in -[UIView(Internal) _didMoveFromWindow:toWindow:]()
#7 0x008444bb in -[UIView(Internal) _didMoveFromWindow:toWindow:]()
#8 0x00840c72 in -[UIView(Hierarchy) _postMovedFromSuperview:]()
#9 0x0083f4c6 in __UIViewWasRemovedFromSuperview()
#10 0x0083f141 in -[UIView(Hierarchy) removeFromSuperview]()
#11 0x00166573 in __98+[App MyAnimationLaunchingMethod]_block_invoke_0 ...
我看到了其他問題時,滾動型SETFRAME從後到_adjustContentOffsetIfNecessary一個電話改變了自己的contentOffset,例如。 然而,它的大小並沒有改變,它似乎沒有任何意義,它只是從屏幕上取下(稍後放回)。所以沒有理由改變它的偏移量。
這是否有一些解釋?一些方法來防止這種變化?
我可以手動阻止(或恢復)偏移量變化,但是我正在尋找一個「乾淨的」解決方案(如果可用):它是從窗口中刪除的一整組視圖。有時這個特定的scrollView會出現在視圖樹中,通常不會。所以動畫類不應該知道scrollview。
有什麼想法?
在此先感謝
有點不好意思,但似乎是目前情況下最乾淨的解決方案。謝謝 ! –