2013-02-21 149 views
1

當用戶滾動時,我正在尋找UIScrollView的位移,每當它滾動時就需要位移。使用這種方法滾動時的UIScrollview位移

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView 
        withVelocity:(CGPoint)velocity 
      targetContentOffset:(inout CGPoint *)targetContentOffset{ 
    NSLog(@"VELOCITY :- %f , %f",velocity.x,velocity.y); 
    NSLog(@"inout offset: %@ ",targetContentOffset); 
} 

我可以得到速度,但仍需要知道在一個方向上的實際距離,使位移計算正確。

感謝,

回答

1

contentOffset屬性會給你這一點。在上述方法targetContentOffset會給你減速和停止後的結束偏移量。通常,上述方法用於改變您希望的結束偏移量。其他拖動或滾動委託方法也可以與scrollView.contentOffset一起使用來計算位移。

contentOffset.x & contentOffset.y將分別給您在x方向上的位移x &。

+0

但仍然存在一些問題....因爲精確位移沒有顯示......我放大了比例: - 2.0然後記錄位移和我需要根據滾動位移移動的標記是按比例: - 1.0。現在我已經分解了disp/2,但是有一些問題,它是所有位移的總和,因爲contentOffset.x&contentOffset.y的值非常高。 – Sumitiscreative 2013-02-21 08:17:12

+0

查看此問題的接受答案。這將給你contentOffset計算後縮放: http://stackoverflow.com/questions/3954757/uiscrollview-content-offset-calculation-after-zoom – Rakesh 2013-02-21 08:33:25

+0

是的,我能夠得到這一點在我自己的,但實際上問題是仍然存在,這裏是: - NSLog(@「offset: - %f,%f」,scrollView.contentOffset.x,scrollView.contentOffset.y); // NSLog(@「offset 2: - %@」,&targetContentOffset); NSLog(@「rect的舊位置:%f,%f」,newRect.center.x,newRect.center.y); (newRect.center.x +(scrollView.contentOffset.x)/ 2, newRect.center.y +(scrollView.contentOffset.y)/ 2); (@「rect的新位置:%f,%f」,newRect.center.x,newRect.center.y);'代碼' – Sumitiscreative 2013-02-21 09:59:13