小编tpd*_*etz的帖子

检测UITableViewCell子视图内的触摸

我不清楚在哪里应该将UIGestureRecognizer代码添加到UITableViewCell的相应子视图中.我已经阅读了所有可以找到的相关问题.现在我的cell和cell的子视图在cellForRowAtIndexPath中生成.我试图用cellForRowAtIndexPath添加Gesture:

UITapGestureRecognizer* tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[mySubview addGestureRecognizer:tapGesture];
tapGesture.cancelsTouchesInView = YES;
tapGesture.delegate = self;
Run Code Online (Sandbox Code Playgroud)

但是,这没有任何检测.为了验证我的UIGesture识别器是否正常工作,我在tableView本身上使用了上面的代码,它确实按预期注册了触摸.此外,当tableView附加了上述手势时,下面的代码也按预期调用:

-(BOOL) gestureRecognizer:(UITapGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    NSLog(@"shouldRevceiveTouch");
    return YES;
}

- (BOOL)gestureRecognizer:(UITapGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UITapGestureRecognizer *)otherGestureRecognizer 
{
    NSLog(@"simultaneously");
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我试图从tableView和cellForRowAtIndexPath中删除GestureRecognizer我试图将GestureRecognizer附加到单元格本身,任何子视图,没有其他任何东西检测到触摸.(以上代码均未触发)

显然我错误地添加了GestureRecognizer.何时/何时是添加GestureRecognizer的合适位置/时间?

谢谢.

objective-c uitableview ios

8
推荐指数
2
解决办法
6031
查看次数

标签 统计

ios ×1

objective-c ×1

uitableview ×1