オーバーライドされた layoutSubviews 呼び出し中は、self.decelerating と self.dragging は信頼できないようです。たとえば、両方とも真である場合がありますが、これは明らかに不可能です。
UIScrollViewがlayoutSubviewsで減速しているかどうかを取得する信頼できる方法はありますか?
オーバーライドされた layoutSubviews 呼び出し中は、self.decelerating と self.dragging は信頼できないようです。たとえば、両方とも真である場合がありますが、これは明らかに不可能です。
UIScrollViewがlayoutSubviewsで減速しているかどうかを取得する信頼できる方法はありますか?
インスタンス変数を次のように設定すると、次のように修正されます。
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
_decelerating = YES;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
_decelerating = NO;
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
_decelerating = NO;
}
問題は、減速中にドラッグを開始した場合、self.decelerating が設定解除されないことです。上記は、 を考慮して修正していますscrollViewWillBeginDragging
。