将逗号更改为十进制小节中的句点,忽略当前设备区域设置

时间:2018-03-22 08:24:08

标签: swift input keyboard uitextfield decimal-point

我有一个UITextField,其键盘类型为DecimalPad

该应用程序仅支持一种语言(意大利语),小数点簿显示逗号而不是句点作为小数点分隔符。

我需要将该逗号更改为句点,因此,无论用户设备设置为何种语言环境,我总是将句点作为小数分隔符。

我尝试了对文本字段进行子类化并覆盖变量textInputMode: UITextInputMode(然后我将自定义类分配给文本字段),但它不起作用。我想以下会立即改变我的逗号:

 override var textInputMode: UITextInputMode? {
        for t in UITextInputMode.activeInputModes {
            if t.primaryLanguage == "en-EN" {
                return t
            }
        }
        return super.textInputMode
    }

有什么方法可以做我正在尝试做的事情,或者它是不可能的?

我发现了一些类似的问题,但没有明确的答案。

这不是一个重复的问题:您正在混淆DecimalPad和默认的iOS文本键盘。事情是不同的。此外,该帖子中的解决方案是不可接受的,因为它允许您在键盘之间切换,这不是我的情况,因为它会导致很多问题。

据我所知,没有办法让我想要使用DecimalPad,我找到的唯一解决方案可能涉及创建一个完全custom keyboard

0 个答案:

没有答案