【问题标题】:Detecting taps on UITableView background检测 UITableView 背景上的点击
【发布时间】:2012-03-25 21:59:37
【问题描述】:

检测 UITableView 背景上的点击最简洁的方法是什么?我想抓住这些来关闭键盘。

不幸的是,当我将 UITapGestureRecognizer 添加到 tableview 时,点击单元格会触发处理程序。

【问题讨论】:

    标签: iphone ipad uikit uitapgesturerecognizer


    【解决方案1】:

    在您的 UI(Table)ViewController 或您的 UITableView 中,覆盖

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

    如果正在显示键盘,请关闭它。另外,不要忘记将此事件转发到您的子视图。

    【讨论】:

    • 这不也能捕捉到对单元格的点击吗?我不想那样。
    • 然后,如果触摸在 UITableViewCell 的范围内,请不要将您的事件转发到子视图并简单地关闭键盘 :)
    • 好吧,我想我可以抓取所有单元格的矩形并寻找触摸 - 但希望有更高级别的东西。
    【解决方案2】:

    在 tableview 的背景视图中添加手势。像这样:

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self
                                                                                 action:@selector(tableViewBackgroundTap)];
    
    [self.tableView.backgroundView addGestureRecognizer:tapGesture];
    

    【讨论】:

    • 如果不先创建和设置 backgroundView 将无法工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 2014-07-22
    • 1970-01-01
    • 2017-03-02
    相关资源
    最近更新 更多