2016-08-15 64 views
1

我用这为SEARCHTEXT现场UITapGestureRecognizer在Swift中打破SearchField类中的UITableView didSelectRowAtIndexPath?

https://github.com/apasccon/SearchTextField

这里是我的代码:

override func viewDidLoad() { 
    super.viewDidLoad() 


    self.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: Selector("dismissKeyboard"))) 


} 

func dismissKeyboard() 
{ 
    ClientList.resignFirstResponder() 
    self.view.endEditing(true) 

} 

关闭键盘的工作,但didSelectRowAtIndexPath方法是没有得到调用,所以我不能够选择任何东西

供参考的图片:enter image description here

部分解决我做:

func hideKeyboard(gestureRecognizer: UIGestureRecognizer) { 
     let point = gestureRecognizer.locationInView(ClientList.tableView) 
     let indexPath = ClientList.tableView!.indexPathForRowAtPoint(point) 

     if indexPath != nil { 
      return 
     } 
     if ClientList.becomeFirstResponder() { 
      ClientList.resignFirstResponder() 
     } 

    } 

但现在的问题是,我有其他列表也一样,我怎么能实现对其他列表?

回答

2

你能解决这个问题这样

viewDidLoad中

self.tap = UITapGestureRecognizer(target: self, action: "viewTapped:") 
self.tap.delegate = self 
self.view.addGestureRecognizer(self.tap) 

功能

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { 
    if touch.view != nil && touch.view!.isDescendantOfView(self.tableView) { 
     return false 
    } 
    return true 
} 
+0

只需将函数更新为** Swift 3 ** 'func gestureRecognizer(_ gestureRecognizer:UIGestureRecognizer,shouldReceive touch:UITouch) - > Bool {0}如果touch.view != nil && touch.view!.isDescendant(of:self.tableView){ return false } return true }'' –

0

谁是手势的目标?我觉得应该是列表,因为它是你点击什么,它是鉴于上述

+0

我攻视图控制器的外部,TableView中是另一个类,我会尝试你的建议 –

0
 let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard") 
    view.addGestureRecognizer(tap) 

一下添加到viewDidLoad中

并添加此功能

func dismissKeyboard() { 
    //Causes the view (or one of its embedded text fields) to resign the first responder status. 
    view.endEditing(true) 
} 
+0

请再次检查这个问题,我已编辑它。我有部分解决方案。 –

+0

您的代码不清楚您可以更清楚一点 – lordxxx

相关问题