Swift 5、如何获取键盘通知
Swift 5, How do I get notifications from the keyboard
我看到其他人从 NotificationCenter 中获得了 swift 4.2 中的方法 .userInfo...我的问题是如何找到 swift5.2 中的 userInfo...它告诉我当我走到这一步时
@objc func keyboardWillShow(notification: NotificationCenter) {
if let keyboardsize = (notification.userInfo?)
}
那个.userInfo?不是 NotificationCenter 的一种方法...那么如果我无法获得键盘高度等信息,如何让我的视图适应键盘
首先,我假设您正在监听键盘通知事件,即 Notification.Name.UIKeyboardWillShow
其次,它不是NotificationCenter
类型,它是Notification
类型
要获取特定的键盘框架,您可以使用 UIKeyboardFrameEndUserINfoKey
关于此枚举的更多信息here
有关如何在通知的用户信息中获取框架的示例
@objc
func keyboardWillShow(notification: Notification) {
if let keyboardFrame = notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue {
let keyboardFrame = keyboardFrame.cgRectValue
//print keyboardFrame.height
}
}
我看到其他人从 NotificationCenter 中获得了 swift 4.2 中的方法 .userInfo...我的问题是如何找到 swift5.2 中的 userInfo...它告诉我当我走到这一步时
@objc func keyboardWillShow(notification: NotificationCenter) {
if let keyboardsize = (notification.userInfo?)
}
那个.userInfo?不是 NotificationCenter 的一种方法...那么如果我无法获得键盘高度等信息,如何让我的视图适应键盘
首先,我假设您正在监听键盘通知事件,即 Notification.Name.UIKeyboardWillShow
其次,它不是NotificationCenter
类型,它是Notification
要获取特定的键盘框架,您可以使用 UIKeyboardFrameEndUserINfoKey
关于此枚举的更多信息here
有关如何在通知的用户信息中获取框架的示例
@objc
func keyboardWillShow(notification: Notification) {
if let keyboardFrame = notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue {
let keyboardFrame = keyboardFrame.cgRectValue
//print keyboardFrame.height
}
}