我遇到以下問題。獲取動畫滾動視圖的當前位置
我的子類,其contentOffset由該代碼動畫一個UIScrollView:
[UIView animateWithDuration:1.0
delay:1.0
options:options
animations:^{
self.contentOffset = CGPointMake(label.frame.size.width, 0);
}
completion:^(BOOL completed) {
//some other stuff
}];
現在,當用戶「willBeginDragging」滾動視圖,我想停止當前的動畫和scrollview.contentoffset設置爲當前它在uianimation中的位置。
例如,用戶進入屏幕,1秒鐘後滾動視圖開始滾動,如果用戶在2秒後觸摸滾動並拖動它,則scrollview.contentoffset應該具有當前動畫位置的確切位置。
如果我在willbegindrag方法中獲得內容偏移值,它已經作爲動畫的最後一個值,因爲uianimation將值設置爲結束狀態,然後設置動畫。
我如何從運行的動畫獲取內容偏移的當前位置?
NSLog(@"pos of content x %f, y %f", [[self.layer presentationLayer] frame].origin.x, [[self.layer presentationLayer] frame].origin.y);
我已經讀過關於表示層,但視圖本身不動畫,我需要scrollview.contentoffset。
mhh,有什麼想法? THX
已經解決:
的self.layer表示層是絕對正確的。
,但我不得不使用範圍而不是框架....
對不起,現在你和我知道:P
所以正確的代碼是:
CGPoint pos = [[self.layer presentationLayer] bounds].origin;
在動畫製作中獲取動畫滾動視圖的當前位置。
謝謝你這麼多 – SampathKumar
所有收益0.000, –
這個答案是題外話。問題是關於獲取contentOffset中間動畫。這個解決方案獲得contentOffset每個滾動調用。 – rizzes