标题意味着什么。手势识别器如何工作,特别是UIGestureRecognizer。这是我的代码的一小部分
var keyboardDismiser: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "gestureRecognizer:")
keyboardDismiser.direction = .Right | .Left
noteView.addGestureRecognizer(keyboardDismiser)
和
func gestureRecognizer(sender: UISwipeGestureRecognizer!) {
println("swipe")
self.view.endEditing()
}
我的目标是在具有3页的UIScrollView中从视图切换到视图时关闭键盘。我究竟做错了什么?在Swift中没有太多关于此的文档。
答案 0 :(得分:2)
首先在备注视图中设置识别器。它仅在备注视图中处于活动状态。
此外,您没有正确设置direction
。您正在设置然后更改它的值。要将其设置为左右两侧,请使用|
运算符。另外,direction
知道UISwipeGestureRecognizerDirection
,因此您无需指定。{/ p>
var keyboardDismiser = UISwipeGestureRecognizer(target: self, action: "gestureRecognizer:")
keyboardDismiser.direction = .Right | .Left
self.view.addGestureRecognizer(keyboardDismiser)
最后,我会使用endEditing()
代替resignFirstResponder()
。
func gestureRecognizer(sender: UISwipeGestureRecognizer!) {
println("swipe")
self.view.endEditing(true)
}
希望有所帮助。
答案 1 :(得分:1)
我相信Swift中的选择器最后不需要:
;它们只是一个带有函数名称的字符串:gestureRecognizer
。所以这就是你应该拥有的:
var keyboardDismiser = UISwipeGestureRecognizer(target: self, action: "gestureRecognizer")
相关问题here。