【问题标题】:How to display Japanese Characters in Swift?如何在 Swift 中显示日文字符?
【发布时间】:2018-08-17 22:45:12
【问题描述】:

我尝试开发一个 ios 应用程序,我想做一些关于日文字符的东西。 我的应用程序将向用户显示拉丁字母。但是这个用户每次点击任何拉丁字符,我都会在文本字段中设置文本日文字符。这该怎么做 ?从现在开始非常感谢。

【问题讨论】:

    标签: ios swift character textfield cjk


    【解决方案1】:

    你想要 UITextFieldDelegate 方法

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
    

    每次用户添加或删除一个或多个字母时,它都会触发。要使用它,您必须将 TextField 的委托设置为您的 ViewController。

    例如,您可以编写(假设您有一个名为 asJapanese 的函数,它将拉丁字母转换为日语):

    extension ViewController: UITextFieldDelegate {
        func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
            if string.count > 0 {
                if let text = textField.text, let textRange = Range(range, in: text) {
                   let japaneseString = asJapanese(string)
                   let updatedText = text.replacingCharacters(in: textRange, with: japaneseString)
    
                   textField.text = updatedText
                   return false
                }
            }
            return true
        }
    }
    

    【讨论】:

    • 非常感谢,实际上我已经使用了它,但我找不到像提供将拉丁字母转换为日语 Hirgana/katakana 的库这样的库:)
    • 哦,好吧,我帮不了你;)
    • github.com/rasserudenisu/JPString我找到了这个日语转换类我解决了!!非常感谢约瑟夫,我将使用您的委托方法:)
    猜你喜欢
    • 2010-10-17
    • 2017-02-17
    • 2011-06-16
    • 1970-01-01
    • 2010-10-14
    • 2017-01-18
    • 2015-06-12
    • 2015-09-17
    相关资源
    最近更新 更多