iPhoneでのScrollviewの現在位置
-
05-07-2019 - |
質問
ビューにスクロールビューがあるとします。スクロールビューのサイズは幅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
フレームの長方形を見ると、スーパービューを基準にしてビューがどこに位置しているかがわかります。あなたは何をしようとしているのですか?
所属していません StackOverflow