Ios 显示键盘,并切换键盘顶部的预测文本框。视图向上弹出,给用户留下一个黑屏
我有一个错误,当显示键盘时,键盘顶部的预测文本框被切换,视图就会弹出,给用户留下一个黑屏。发生这种情况的原因是因为我使用了-=运算符,每次调用此方法时都会对值进行复合。此方法可以在一行中多次调用。我在想办法解决这个问题Ios 显示键盘,并切换键盘顶部的预测文本框。视图向上弹出,给用户留下一个黑屏,ios,swift,Ios,Swift,我有一个错误,当显示键盘时,键盘顶部的预测文本框被切换,视图就会弹出,给用户留下一个黑屏。发生这种情况的原因是因为我使用了-=运算符,每次调用此方法时都会对值进行复合。此方法可以在一行中多次调用。我在想办法解决这个问题 func getKeyboardHeight(notification: NSNotification) -> CGFloat { let userInfo = notification.userInfo let keyboardSize = userIn
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(通知)切换到view.frame.origin.y=-getKeyboardHeight(通知),解决了我的问题
func keyboardWillShow(notification: NSNotification) {
if bottomTextField.isFirstResponder() {
self.view.frame.origin.y = -getKeyboardHeight(notification)
}
}
通过将self.view.frame.origin.y-=getKeyboardHeight(通知)切换到view.frame.origin.y=-getKeyboardHeight(通知),解决了我的问题
func keyboardWillShow(notification: NSNotification) {
if bottomTextField.isFirstResponder() {
self.view.frame.origin.y = -getKeyboardHeight(notification)
}
}