我注意到当通过用户控制或硬编码关闭自动更正时,字母数字键盘的高度与表情符号键盘的高度不同,后者因我的自动布局限制而导致奇怪的行为。为了解决这个问题,我创建了一个NSNotification,当textInputMode改变时监听,当选择了字母数字键盘时返回“en-US”,但是当选择了表情符号键盘时返回nil。
这是ios的错误还是我的代码错了?
一些代码供参考。
override func viewDidLoad() {
super.viewDidLoad()
// Create the notification listener
NotificationCenter.default.addObserver(self, selector: #selector(inputModeDidChange), name: NSNotification.Name.UITextInputCurrentInputModeDidChange, object: nil)
}
@objc func inputModeDidChange(notification: NSNotification) {
// Print the current input mode
// textField is a UITextField variable
print(textField.textInputMode?.primaryLanguage as Any)
}