【问题标题】:Tableview didSelectRowAtIndexPath is not workingTableview didSelectRowAtIndexPath 不起作用
【发布时间】:2015-05-07 05:35:04
【问题描述】:

我在同一个控制器上使用点击手势和表格视图。 发现在 uiviewcontroller 和 tableview 上使用手势时,tableview didSelectRowAtIndexPath 不起作用。 但我想要视图控制器上的两件事。任何人面对这些东西请告诉我该怎么做。

【问题讨论】:

标签: ios objective-c uiviewcontroller tableview uigesturerecognizer


【解决方案1】:

您需要实现UIGestureRecognizerDelegate 方法gestureRecognizer: shouldReceiveTouch:,它返回一个BOOL 值。如果返回YES,则将处理触摸视图上的点击,否则将丢弃点击,并且底层视图的触摸功能将起作用。

在您的情况下,您需要在表格视图中省略点击手势的点击事件,您可以这样做-

#pragma mark UIGestureRecognizerDelegate methods

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if ([touch.view isDescendantOfView:tableViewInstance]) {

        // return NO 
        // to skip gesture recognizer events
        return NO;
    }
    // return YES
    // to handle gesture recognizer events on other views
    return YES;
}

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2017-03-22
    • 1970-01-01
    相关资源
    最近更新 更多