当我从横向切换到纵向时,我得到了错误的键盘框架。 这就是我得到键盘框架的方式。
let value: AnyObject = (note as NSNotification).userInfo![UIResponder.keyboardFrameEndUserInfoKey]! as AnyObject
return view.convert(value.cgRectValue, from: nil)
我仍然可以在横向模式下使用框架。此问题仅在iOS 14上。
答案 0 :(得分:0)
也许从将帧转换为视图 尝试获取帧而不进行这样的转换,它对我有用 还要检查通知类型,对我来说,我正在使用 UIWindow.keyboardWillShowNotification
let keyboardframe = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue
return keyboardframe
答案 1 :(得分:0)
改为使用 UIApplication.keyboardWillChangeFrameNotification 。
答案 2 :(得分:0)
更改shouldAutorotate以返回true
override var shouldAutorotate: Bool {
get {
return true
}
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
get {
return UIInterfaceOrientationMask.portrait
}
}