我有一个错误,当显示键盘并且切换键盘顶部的预测文本框时, View 会弹出,让用户看到黑屏。发生这种情况的原因是因为我使用了 -= 运算符,每次调用此方法时都会使值复合。该方法可以连续调用多次。我正试图找到一种方法来处理这个问题。
func getKeyboardHeight(notification: NSNotification) -> CGFloat {
let userInfo = notification.userInfo
let keyboardSize = userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue
return keyboardSize.CGRectValue().height
}
func keyboardWillShow(notification: NSNotification) {
if bottomTextField.isFirstResponder() {
self.view.frame.origin.y -= getKeyboardHeight(notification)
}
}
func keyboardWillHide(notification: NSNotification) {
if bottomTextField.isFirstResponder() {
self.view.frame.origin.y += getKeyboardHeight(notification)
}
}
最佳答案
通过将 self.view.frame.origin.y -= getKeyboardHeight(notification) 切换为 view.frame.origin.y = -getKeyboardHeight(notification) 解决了我的问题。
func keyboardWillShow(notification: NSNotification) {
if bottomTextField.isFirstResponder() {
self.view.frame.origin.y = -getKeyboardHeight(notification)
}
}
关于ios - 显示键盘并且键盘顶部的预测文本框被切换 View swift 上升,给用户留下黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303167/