现在我有,如果底部的文本框被窃听否则,如果顶部的文本字段上,然后拍了拍我的屏幕没有转变,转变整个屏幕了一个功能:UITapGestureRecognizer各国不工作
func keyboardWillShow(notification: NSNotification) {
var tapTopTextField: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: nil)
topTextField.addGestureRecognizer(tapTopTextField)
topTextField.userInteractionEnabled = true
if(tapTopTextField.state == .Began) {
// don't move screen
}
// then it is the bottomTextField that is tapped
else {
self.view.frame.origin.y -= getKeyboardHeight(notification)
}
}
所以使用这段代码,如果topTextField被点击,而另一种方式使它不改变,我的屏幕仍然会移动,通过让状态为.Possible
,但是这样做会禁止当点击bottomTextField时屏幕向上移动。有没有我在这里失踪的东西,还有一个更优雅的方式来做到这一点?
更新:所以我意识到,这是发生的原因是因为当这个函数被调用的文本框已经被选择,因而被重置为.Possible状态