我正在尝试使用以下代码在键盘出现时向上移动视图:
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize: CGSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size {
if self.view.frame.origin.y == 0{
print("Keyboard height is: \(keyboardSize.height)")
let keyboardHeight = keyboardSize.height - (self.tabBarController?.tabBar.frame.height)!
self.view.frame.origin.y -= (keyboardHeight)
print("Keyboard height is: \(keyboardSize.height)")
}
}
}
Run Code Online (Sandbox Code Playgroud)
一旦打开应用程序,第一次调用此函数时,键盘高度将填充为0,这意味着视图会下降tabBar的高度.当我重新加载视图时,它从那时起就完美地运行了.
在键盘实际打开之前,似乎我没有获得键盘高度,这对于第一次运行功能来说已经太晚了.
知道问题是什么吗?如果您想了解更多详情,请与我们联系.