【问题标题】:UITextfield totally secure without showing initial character for a whileUITextfield 完全安全,暂时不显示初始字符
【发布时间】:2014-03-13 16:06:46
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c ipad security uitextfield


    【解决方案1】:

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

    【讨论】:

    • 谢谢。如果它是这样的警报视图中的 uitextfield,我该怎么办? UITextField *textField; textField =[alertView textFieldAtIndex:0];
    • 您可以以完全相同的方式将自己设置为警报视图的文本字段的代表。 [alertView textFieldAtIndex:0].delegate = self;
    • 我仍然看到第一个字符立即未隐藏。不介意的话,能不能用代码或者demo项目解释一下?
    【解决方案2】:

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

    - (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;
    

    【讨论】:

      【解决方案3】:

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

      [yourUITextField setSecureTextEntry:YES];
      

      【讨论】:

      • 它会显示一段时间的初始字符。就我而言,它应该完全隐藏而不显示一段时间。我该怎么办?
      • 对不起,我误读了你。检查此linklink。希望对您有所帮助。
      • 谢谢。它有助于。但是,如果它是这样的警报视图中的 uitextfield,我该怎么办? UITextField *textField; textField =[alertView textFieldAtIndex:0];
      • 我认为您应该选择自定义UIAlertView。检查link。如果您想改用textField:shouldChangeCharactersInRange:replacementString,请查看我上面的第一个linkthis 答案
      • 我仍然看到第一个字符立即未隐藏。不介意的话,能不能用代码或者demo项目解释一下?我试过那个链接。但我想知道它不能正常工作。我不知道为什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 2019-09-28
      • 2018-08-05
      • 1970-01-01
      • 2020-12-25
      相关资源
      最近更新 更多