点击UITableView(不在UITableViewCell上)

时间:2017-02-19 17:52:53

标签: swift uitableview swift3

在我的UIViewControlerUITableView有一个项目选择。 我想在用户点击"空行"时取消选择所选行。在tableView中。我无法找到针对该攻击的动作。这可能吗?我正在使用Swift 3。

1 个答案:

答案 0 :(得分:0)

默认情况下没有此类操作。你可以自己构建:

let view = UIView()
view.backgroundColor = .red
view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(tableBackgroundTapped(tapGestureRecognizer:))))
tableView.backgroundView = view

此代码会创建一个新的UIView实例,并为其添加UITapGestureRecognizer。然后,它将新的UIView实例设置为tableView s backgroundViewbackgroundView位于tableView个单元格后面。 点按背景时,系统会调用tableBackgroundTapped(tapGestureRecognizer:)。显然你需要添加该方法:

@objc func tableBackgroundTapped(tapGestureRecognizer: UITapGestureRecognizer) {
    print("background tapped")
}

注意:该示例将backgroundView的颜色设置为.red,以便在测试时更容易看到。点击工作不需要这样做。