我使用库libPhoneNumber-iOS 来格式化我的应用中的电话号码。
当我从文本字段的末尾删除文本时,一切正常,但如果当我删除“ - ”字符时光标位于文本字段的中间,则光标跳到文本字段的末尾。< / p>
我如何解决这个问题?
感谢。
UPD
代码块:
- (void)inputText:(NSString *)text
{
NSString *numberWithCode = [self stringWithPhoneCodeFromString:text];
self.text = PVNumberFormattingEnabled? [self.formatter inputString:numberWithCode] : numberWithCode;
}
- (NSString *)stringWithPhoneCodeFromString:(NSString *)string
{
if ( [string isEqualToString:_countryModel.phoneCode] || DEVICE_IS_IPAD )
{
return string;
}
return [NSString stringWithFormat:@"%@%@", _countryModel.phoneCode? : @"", string? : @""];
}
- (void)phoneNumberTextDidChange
{
NSString *normalizedText = [self deletePhoneCodeFromText:self.text];
if ( phoneNumberUtil && normalizedText != nil)
{
normalizedText = [phoneNumberUtil normalize:normalizedText];
}
[self inputText:normalizedText];
}
但有人试图在文字字段中修改 selectedTextRange 时会出现奇怪的行为。当我添加实现 setSelectedTextRange:时,我无法捕获任何调用,但无论如何,光标跳到最后。