我试着开发一个ios应用程序,我想做一些关于日语字符的东西。我的应用程序将显示拉丁字母到user.But这个用户每次点击任何拉丁字符,我会在文本字段中设置文本日语字符。该怎么做呢?从现在开始非常感谢。
发布于 2018-08-18 07:23:34
您想要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
}
}
https://stackoverflow.com/questions/51903675
复制相似问题