UITextField中一个位置的字母之间的较大空格

时间:2016-10-17 13:22:56

标签: ios objective-c uitextfield

对于工具间距我使用

  

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

但在这种情况下,我需要控制很多不同的东西来保持正确的格式。例如,如果用户将光标放在1和2之间并添加新数字。或删除数字1。

如何在某些符号之间设置更大的间距? 例如,通过某种方式自定义UITextField

enter image description here

UPD:我实现了NSMutableAttributedString,但是当我这样使用它时,每当我将符号放在文本的中心时,光标就会在字符串的末尾移动。所以可能是放置此代码的正确位置。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString *futureString = [textField.text stringByReplacingCharactersInRange:range withString:string];
if(textField == phoneNumberTextField){
    if(futureString.length>=2){
        NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:futureString];
        [attributedStr addAttribute:NSKernAttributeName value:@(5)
                              range:NSMakeRange(1, 1)];
        phoneNumberTextField.attributedText = attributedStr;
        return NO;
    }else
        if(futureString.length > 10){
        return NO;
    }
}
return YES;

}

0 个答案:

没有答案