在UITcrollView中嵌入的UITableView中滑动以删除

Bin*_*n_Z 3 uitableview uiscrollview ios4 ios ios5

我遇到了一个与UIScrollview相同的问题,通过滑动启用删除行
它是一个tableView,另一个视图作为scrollView的子视图工作,我不能启用"滑动删除",直到我将scrollView的scrollEnable属性设置为,但它带来了另一个问题:我无法在tableView和另一个视图之间滑动
除了设置scrollEnable属性以启用"滑动删除" 之外还有其他方法吗?
如果没有,我应该何时设置self.scrollEnable = NO,何时设置self.scrollEnable = YES为"滑动删除"和"在视图之间滑动"两者都可以正常工作?

谢谢

Tho*_*ich 6

我成功使用过

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
Run Code Online (Sandbox Code Playgroud)

在包含tableview的UIScrollView子类中,使得驻留在tableview中的UISwipeGestureRecognizer能够触发,而不是被"主"scrollview的手势识别器吞噬.


k06*_*06a 6

您需要使用自定义子类UIScrollView.它应该适用于水平滚动视图中的表视图:

@interface MyCoolScrollView : UIScrollView

@end

@implementation MyCoolScrollView

// Allows inner UITableView swipe-to-delete gesture
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(nonnull UIGestureRecognizer *)otherGestureRecognizer
{
    return [otherGestureRecognizer.view.superview isKindOfClass:[UITableView class]];
}

@end
Run Code Online (Sandbox Code Playgroud)