diff --git a/FSCalendar/FSCalendar.m b/FSCalendar/FSCalendar.m index cae9f7c..1d0730c 100644 --- a/FSCalendar/FSCalendar.m +++ b/FSCalendar/FSCalendar.m @@ -714,13 +714,24 @@ typedef NS_ENUM(NSUInteger, FSCalendarOrientation) { } [self didChangeValueForKey:@"currentPage"]; } + + // Disable all inner gestures to avoid missing event + [scrollView.gestureRecognizers enumerateObjectsUsingBlock:^(__kindof UIGestureRecognizer * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if (obj != scrollView.panGestureRecognizer) { + obj.enabled = NO; + } + }]; + } -- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { - scrollView.panGestureRecognizer.enabled = NO; - [scrollView.panGestureRecognizer setTranslation:CGPointZero inView:scrollView]; - scrollView.panGestureRecognizer.enabled = YES; + // Recover all disabled gestures + [scrollView.gestureRecognizers enumerateObjectsUsingBlock:^(__kindof UIGestureRecognizer * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if (obj != scrollView.panGestureRecognizer) { + obj.enabled = YES; + } + }]; } #pragma mark - Notification diff --git a/FSCalendar/FSCalendarCollectionView.m b/FSCalendar/FSCalendarCollectionView.m index 1b6f607..3abbde2 100644 --- a/FSCalendar/FSCalendarCollectionView.m +++ b/FSCalendar/FSCalendarCollectionView.m @@ -47,16 +47,6 @@ #endif } -- (void)layoutSubviews -{ - [super layoutSubviews]; - [self.gestureRecognizers enumerateObjectsUsingBlock:^(__kindof UIGestureRecognizer * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if (obj != self.panGestureRecognizer) { - obj.enabled = NO; - } - }]; -} - - (void)setContentInset:(UIEdgeInsets)contentInset { [super setContentInset:UIEdgeInsetsZero];