Fix problem while showsPlaceholder&showsScopeHandle&scrollDirection==vertical

Fix problem while
showsPlaceholder&showsScopeHandle&scrollDirection==vertical
This commit is contained in:
Wenchao Ding 2016-06-24 09:48:53 +08:00
parent 98cae57ae6
commit 5f9bec57b0
2 changed files with 15 additions and 14 deletions

View File

@ -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

View File

@ -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];