1

オーバーライドされた layoutSubviews 呼び出し中は、self.decelerating と self.dragging は信頼できないようです。たとえば、両方とも真である場合がありますが、これは明らかに不可能です。

UIScrollViewがlayoutSubviewsで減速しているかどうかを取得する信頼できる方法はありますか?

4

2 に答える 2

0

インスタンス変数を次のように設定すると、次のように修正されます。

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
    _decelerating = YES;
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    _decelerating = NO;
}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
    _decelerating = NO;
}

問題は、減速中にドラッグを開始した場合、self.decelerating が設定解除されないことです。上記は、 を考慮して修正していますscrollViewWillBeginDragging

于 2013-06-28T16:21:26.773 に答える