iOS键盘语言在特定语言中不会更改
我可以通过参考将键盘语言从ja JP更改为vi VN。 但是我不能在相同的代码中将vi-VN更改为en-US 我不知道为什么会发生这种情况,但我已经解决了。解决方法是,我总是在更改其他语言之前设置语言ja JP(请参阅) 这个项目重现了这个问题。但在func selectLanguage中启用BEGIN:to END:block可以解决这个问题iOS键盘语言在特定语言中不会更改,ios,swift,Ios,Swift,我可以通过参考将键盘语言从ja JP更改为vi VN。 但是我不能在相同的代码中将vi-VN更改为en-US 我不知道为什么会发生这种情况,但我已经解决了。解决方法是,我总是在更改其他语言之前设置语言ja JP(请参阅) 这个项目重现了这个问题。但在func selectLanguage中启用BEGIN:to END:block可以解决这个问题 import UIKit class ViewController: UIViewController { @IBOutlet weak var
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
var lang = "en-US"
@IBAction func selectLanguage(_ sender: UISegmentedControl) {
// BEGIN: Changing Keyboard language en-US to vi-VN is working if this comment this block out.
// lang = "ja-JP"
// self.textField.resignFirstResponder()
// self.textField.becomeFirstResponder()
// END: Changing Keyboard language en-US to vi-VN is working if this comment this block out.
switch sender.selectedSegmentIndex {
case 0: // English
lang = "en-US"
case 1: // Vietnamese
lang = "vi-VN"
case 2: // Japanese
lang = "ja-JP"
default:
break
}
// ReDisplay Keyboard
self.textField.resignFirstResponder()
self.textField.becomeFirstResponder()
}
override var textInputMode: UITextInputMode?{
var tim = super.textInputMode
for mode in UITextInputMode.activeInputModes {
if mode.primaryLanguage!.localizedStandardContains(lang) {
tim = mode
}
print("Available Keyboard: ", mode.primaryLanguage ?? "nil")
}
print("Selected language: ", tim?.primaryLanguage ?? "unknown")
return tim
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
我想知道解决这个问题的正确方法。
谢谢。对不起,如果问题已经解决,那么问题出在哪里?我想知道为什么在将语言vi VN更改为en-US或en-US更改为vi-VN时必须添加“开始到结束”块。