2

UIScrollViewスクロール状態を変更したときに送信される通知はありますか? デリゲート メソッドを使用するのではなく、その通知を聞きたいと思います。

4

3 に答える 3

3

デリゲート メソッドを使用したくない場合は、KVO (key-value-observing) を使用して contentOffset 値の変化を観察できます。

于 2012-10-04T08:55:55.833 に答える
2

をサブクラス化UIScrollViewし、オーバーロードtouchesMoved:withEvent:して、スクロール ビューがスクロールするたびにこの通知を送信できます。スクロールは軽量のイベントである必要があるため、すべてのスクロールに通知を使用することはお勧めしません。これは、デリゲート メソッドを使用するよりもパフォーマンスに大きな影響を与えるためです。

于 2012-10-04T08:55:11.703 に答える
-1

これらは、 のスクロールを処理するデリゲートですUIScrollView

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

デリゲートを好まず、通知が必要な特定の理由はありますか? したがってscrollViewDidScroll、スクロール状態の変更に使用できます。

于 2012-10-04T08:56:36.733 に答える