UITextfield完全安全,但暂时没有显示初始字符

时间:2014-03-13 16:06:47

标签: ios objective-c ipad security uitextfield

我想将uitextfield设置为总安全字段。但是,当用户键入一个字符时,它也会显示在屏幕上。我也想隐藏初始字符,当用户输入某些内容时(例如“A”),它只显示安全文本(。或*)。我该怎么办?

3 个答案:

答案 0 :(得分:1)

以下是解决方案的提案。在更改第二个文本存储后,在取消隐藏文本时使用第二个文本存储,同时替换代码中的文本字段文本。收听textField:shouldChangeCharactersInRange:replacementString:作为文本字段的委托,执行上述更改,用替换字符,并在委托方法中返回NO。

答案 1 :(得分:1)

这是实现您所描述的行为的最佳解决方案:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (textField == self.pinTextField) {
        NSString *currentText = textField.text;
        NSString *newText = [currentText stringByReplacingCharactersInRange:range withString:string];
        textField.text = newText;
        return NO;
    }
    return YES;
}

不要忘记将代理设置为您的UITextField:

self.myTextField.delegate = self;

答案 2 :(得分:0)

如果您不介意使用点而不是星号,可以将SecureTextEntry属性设置为YES:

[yourUITextField setSecureTextEntry:YES];