我的UIViewController中有一个带静态单元格和分组样式的UITableView。我添加了一个UIGestureRecognizer,我可以解除键盘,但我想除了UIGestureRecognizer之外的几个UITableViewCells,因为它们在被选中时具有功能。
我的代码:
我可以在代码中的任何地方使用它的类变量:
var tap:UITapGestureRecognizer = UITapGestureRecognizer()
我的viewDidLoad()方法:
override func viewDidLoad() {
super.viewDidLoad()
self.tap = UITapGestureRecognizer(target: self, action: "DismissKeyboard")
tableView.addGestureRecognizer(tap)
}
UIGestureRecognizer的行动:
func DismissKeyboard()
{
print("is here")
if(self.keyboardIsVisible)
{
view.endEditing(true)
self.refreshTableView()
}
}
我删除了覆盖功能cellForRowAtIndexPath中一个单元格的Gesture Recognizer:
cell.removeGestureRecognizer(self.tap)
但是当我点击这个单元格时,它仍会进入DismissKeyboard - Action ...
答案 0 :(得分:0)
您将UITapGesgureRecognizer添加到tableView,然后尝试从de cell中删除。尝试使用tableView.removeGestureRecognizer(self.tap)
答案 1 :(得分:0)
而不是在TableView Cell或TableView上添加Tap Gesture。您可以在UITableViewCell上添加自定义UIButton并向其添加目标。然后,您可以禁用表视图的didSelectRowatIndexPath事件。您可以在按钮点击事件上编写代码。