当emoji键盘选择问题时,UITextField textInputMode返回nil

时间:2018-05-20 07:51:13

标签: ios swift

我注意到当通过用户控制或硬编码关闭自动更正时,字母数字键盘的高度与表情符号键盘的高度不同,后者因我的自动布局限制而导致奇怪的行为。为了解决这个问题,我创建了一个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)
}

0 个答案:

没有答案