2014-06-24 56 views
0

我具有以下情形,停止進一步執行,直到結束的UIScrollView動畫

我的UIScrollView以其contentOffset在作爲

開始等於(0.0,0.0)

現在我已經設定了新滾動視圖contentOffset動畫

[myScrollView setContentOffset:CGPointMake(100.0,0.0) animated:YES]; 

現在nextLine我正在打印contentOffset的價值

NSLog(@"ContentOffset:%@",NSStringFromCGPoint(myScrollView.contentOffset)); 

現在在這裏,它正在打印contentOffset的較舊值。如果我沒有做動畫設置價值,那麼它給我新的ContentOffset。

我應該怎麼辦,這樣,它會給我contentOffset新的價值與動畫太

回答

0

你將必須設置一個委託爲UIScrollView,並聽取了委託方法scrollViewDidEndScrollingAnimation:。然後獲取該方法內的滾動位置,並在找到該值時調用您需要運行的下一代代碼。

+0

我正在手動設置ContentOffset,在這種情況下,任何委託方法永遠不會被調用,委託方法只會在觸摸完成時被調用。在這裏,我設置的內容由代碼抵消。正確閱讀問題,然後回答 –

+0

@MehulThakkar我確實正確地閱讀了這個問題,並且您正在使用動畫設置contentOffset屬性。這仍然會調用每個委託方法到達最終內容偏移的路上。這意味着您將在完成時獲得'scrollViewDidScroll'多次,然後執行'scrollViewDidEndScrollingAnimation:'調用。正確閱讀文檔並獲得答案。 – Putz1103

+0

我還沒有閱讀文檔,但我的主要問題是,在下一行設置內容偏移我沒有得到它的新價值,如果我想在這一點上得到正確的價值,我不想移動在委託方法中的代碼(如果我這樣做,那麼需要許多其他變量來改變範圍,並造成很多問題,操作系統是至少有任何方式(可能是使用塊),以便我可以在同一點使用它) –