2016-07-06 157 views

回答

1

这是由于我在同一个viewcontroller中有一个tap识别器。问题解决了。

+0

不错的工作。请将问题标记为已解决! – raurora

1

谷歌标志的默认按钮不是一个水龙头的作品,它的工作原理后1点 长按,因为点击手势包括在同一 视图 - 控制...

所以解决的办法是在sameViewcontroller处理触摸事件:

override func viewDidLoad() { 
    super.viewDidLoad() 

let touchRecognizer = UITapGestureRecognizer(target: self, action: 
#selector(onBaseTapOnly)) 
    touchRecognizer.numberOfTouchesRequired = 1 
    touchRecognizer.delegate = self 
    self.view.addGestureRecognizer(touchRecognizer) 
} 

func onBaseTapOnly(sender: UITapGestureRecognizer) { 
    if sender.state == .ended { 
     //react to tap 
     self.view.endEditing(true) 

    } 
} 

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, 
shouldReceive touch: UITouch) -> Bool { 
    return touch.view == gestureRecognizer.view 

}