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 回答