WMPageController
WMPageController copied to clipboard
iOS 11系统UITableViewCell的左滑删除失效
iOS 11系统,UITableViewCell的左滑删除很难触发,多试几次也可以触发。iOS 11 以下系统没这个bug. WMScrollView里面的方法不起作用了
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { //MARK: UITableViewCell 删除手势 if ([NSStringFromClass(otherGestureRecognizer.view.class) isEqualToString:@"UITableViewWrapperView"] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { return YES; } return NO; }
😌
sos
iOS11 都不走 return YES
-
(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
//MARK: UITableViewCell 删除手势 if ([NSStringFromClass(otherGestureRecognizer.view.class) isEqualToString:@"UITableViewWrapperView"] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { return YES; } return NO; }
当滑动在VC的tableview上时-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer方法返回YES,但这样会出现tableview左滑时上下滑动的问题,需要在scrollview代理方法中做处理,左滑时禁止tableview滑动.这样处理就导致没法pod管理,作者也建议在外边处理手势冲突,目前还没想到在外边处理的方法.
此问题有解决方法了吗?
想到一个笨办法: /* 在需要左滑的控制器里面保存一个全局标识 */
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [HSShareData sharedInstance].isExpandQACollectPage = YES; }
- (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [HSShareData sharedInstance].isExpandQACollectPage = NO; }
#import "WMScrollView+HSAdd.h" /* 添加WMScrollView分类,加上下面这个代理方法 */ @implementation WMScrollView (HSAdd)
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { if ([HSShareData sharedInstance].isExpandQACollectPage && [otherGestureRecognizer.className isEqualToString:@"_UISwipeActionPanGestureRecognizer"]) return YES; return NO; }
结果在我当前应用是完美解决。备注:可能全局变量也不需要,这个没有试,但我觉得加上会保险一些。