質問

ビューにスクロールビューがあるとします。スクロールビューのサイズは幅320、高さ2000です。

ユーザーが&をスクロールしたとき減速停止、スクロールビューが停止した場所を知りたいですか?

i.e。 300pxまたは400pxまたは600pxで。

役に立ちましたか?

解決

scrollview.contentOffsetを使用します。

他のヒント

スクロール後、次の2つの方法を使用して、原点の座標を追跡できます。これは、UIScrollViewクラスに準拠する2つのデリゲートメソッドです。

-

 (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)newScrollView
{
    NSLog(@"scrollViewDidEndScrollingAnimation");
    CGPoint p = scrollView.contentOffset;


    int curr= floor(p.x/320);

    NSLog(@"x=%f,y=%f,curr=%d",p.x,p.y,curr);

}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)newScrollView
{

    [self scrollViewDidEndScrollingAnimation:newScrollView];

}

スクロールビューのスクロールが完了すると、 UIScrollViewDelegate へのイベントが発生します:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

これらのメソッドをデリゲートに実装して、 UIScrollView の新しい contentOffset を見つけることができます。

@property(nonatomic) CGPoint contentOffset

フレームの長方形を見ると、スーパービューを基準にしてビューがどこに位置しているかがわかります。あなたは何をしようとしているのですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top