在Swift中,当我们选择键盘样式作为小数板时,它以10个数字和分离器的形式取决于您是哪个国家。例如,在俄罗斯,默认小数分隔符为',而在美国是"。
在我的应用程序中,我只想显示带有点'的十进制垫。
都没关系。我不想发生这种情况
我想在每个设备中发生这种情况!
这不是要显示正确的键盘语言。
这是关于强迫小数分离器符号为'。(点)应用程序用户拥有的任何位置。
例如,我们可以从产品'''option>选项>应用程序区域中施加locatizaton ->设置给我们。但是我只需要更改十进制符号,而不是整个本地化。
sublass your textfield和覆盖uiresponder.textinputmode,然后返回uitextinputmode.primarylanguage
我知道这不再是2017年,但是...覆盖Uitextfield非常容易。
class EnglishTextField: UITextField {
override var textInputMode: UITextInputMode? { return EnglishInputMode() }
}
class EnglishInputMode : UITextInputMode {
override var primaryLanguage: String? { "en-US" }
}
然后在您的情节板中的uitextfield的身份检查员中,将课程(顶部)设置为EnglishTextfield。
除了一个问题外,此功能很好:2019年,在显示键盘之前从未查询过"主要语言",因此它根本无济于事。
我仍然希望自己找到答案。就我而言,我正在使用"十进制垫"来进入IP地址,并且在所有国家/地区都点缀了。
我像这样哭了:
创建按钮并添加到" .inputaccessoryview"
@objc func dotButtonAction() {
guard let newTextField = self.text else { return }
self.text = newTextField + "."
}
所有答案都没有帮助我。
直到找到更好的解决方案,这也将起作用:
number = number.replacingOccurrences(of: ",", with: "."
数字将用dot更改逗号,例如:
12,34 将成为 12.34 。