5

我有一个小问题试图了解如何正确附加NSString韩语或捷克语。

上下文:我向UITextField用户提供了一个输入一些信息的信息,我想在文本字段中记录用户修改的内容,以便仅在字符串发生更改时才保存字符串。这样做时,我使用UITextFieldDelegate协议

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *resultingString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    [(NSMutableDictionary *)self.currentModifiedObject setObject:resultingString forKey: @"textfield" ];
    return YES;
}

大多数语言都可以正常工作,但我最近收到有关韩语和捷克语的报告,称字母组合存在问题,例如口音。当查看我在字典中记录的内容时,通过这种方法按原样记录通过键入字母并在其后添加重音创建的带有重音的字母。

例如,在捷克语中:如果您在键盘上键入“Fidelesˇ”作为字母序列,则UITextField显示“Fideleš”,录制的字符串显示“Fideles\U02c7”,这相当于键盘序列。

我有兴趣了解从“Fideles\U02c7”键盘输入实际生成“Fideleš”的正确方法。

感谢您的帮助,我希望有人可以帮助我解决这个问题。亲切的问候,大卫

我试过使用:

- (NSString *)precomposedStringWithCanonicalMapping
- (NSString *)precomposedStringWithCompatibilityMapping

但是没有结果,结果字符串保持不变。

4

0 回答 0