首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextfield格式*用户

UITextfield格式*用户
EN

Stack Overflow用户
提问于 2015-05-18 11:46:06
回答 3查看 112关注 0票数 1

我想在UITextfield中同时添加蒙面字符和未蒙面字符。

例如,我有一个UITextField,名为UserName "TestUser“。现在我想在UITextField中像“*User”一样显示用户名。是否可以将这两个文本相加在一起?在UITextfield中输入字符时,我想做这件事。

EN

回答 3

Stack Overflow用户

发布于 2015-11-20 14:53:19

看一下文本字段委托方法可能是值得的:

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

它被称为

“每当用户在文本字段中键入新字符或删除现有字符时,”

因此,您可以将范围0-3或任何您喜欢的"*“设置为”*“,但是您应该将第一个字符保存在其他地方,在返回yes之前,我认为这是可能的,并提供了textField参数。我不知道你是否已经试过了,我自己也没有试过,但是让我知道它是如何进行的。

票数 1
EN

Stack Overflow用户

发布于 2015-05-18 15:51:39

我在下面的解决方案中找到并制作了一些东西,但是仍然不是我想要。我想掩蔽/星号前四个字符,同时在UITextField中输入值。但是这里我在textFieldShouldReturn方法上做这件事。

代码语言:javascript
复制
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    // Store orignal string - we can use later
    _strOriginalString = textField.text;

    //Make temporary Masked String
    NSRange replacementRange = NSMakeRange(0, 4);
    _strMaskString = [NSMutableString new];

    for (int i = 0; i<4; i++) {
        [_strMaskString appendString:@"●"];
    }

    //Replace Orignal String's Range with Masked string
    self.txtUsername.text = [_strOriginalString stringByReplacingCharactersInRange:replacementRange withString:_strMaskString];

    NSLog(@"Textfield string - %@",self.txtUsername.text);
    NSLog(@"orignal string  - %@",_strOriginalString);
    NSLog(@"masked string - %@",_strMaskString);

    return NO;
}
票数 0
EN

Stack Overflow用户

发布于 2015-05-18 11:52:52

我不认为这是可能的。为什么要在UITextfield中显示“*用户”这样的名称?您可以使用标签并用*掩蔽第一个字符。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30302369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档