【问题标题】:Four digit Pin Entry/ OTP screen in iOS [closed]iOS中的四位密码输入/ OTP屏幕[关闭]
【发布时间】:2015-12-19 06:06:31
【问题描述】:

任何人都可以建议我如何创建一个 4 位数的密码输入屏幕,例如一次性密码,用户将输入,一个圆圈将被选中/变暗。

我知道我可以通过使用图像和隐藏文本字段来创建它。但我无法决定最好的方法。

任何帮助将不胜感激。

【问题讨论】:

  • 创建一个启用 secueTextentry 的文本字段,当用户输入密钥时,匹配用户 ID 和用户在 WS 或 DB 中的 OTP。

标签: ios iphone xcode mobility


【解决方案1】:

假设您有一个UITextField。让用户的输入显示为黑点(而不是暴露他们的信息)就像这样做一样简单(假设 UITextField 被称为 field,并且您使用的是 Swift)。

field.secureTextEntry = true

老实说,我不完全确定你在问什么,但这是我最好的猜测。

【讨论】:

  • 不,你没有明白我的意思,,将创建一个没有文本字段的全屏,用户每次从键盘敲击一个字母时都会看到一个黑圈。
  • @SundeepSaluja 哦,所以当用户从数字键盘输入 PIN 码时,您想要四个充满黑眼圈的框?
【解决方案2】:

我最好的猜测是使用图像来实现这一点。您可以简单地在 UITextField 的子视图上添加图像。

 func addImageToTextField(txtPin : UITextField)
    {
        let imageView = UIImageView();

        let image = UIImage(named: "darkImage.png");

        imageView.image = image;

        imageView.frame = CGRect(x: 0, y: 0, width: txtPin.frame.width, height: txtPin.frame.height)

        txtPin.addSubview(imageView)

    }

并从textFieldshouldChangeCharactersInRange调用此方法

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

        textField.textColor = UIColor.clearColor()
        if (!string.isEmpty) {

            self.addImageToTextField(textField)
         }

同样,如果用户点击返回按钮来清除文本字段,您也可以这样做

我已经这样做了,对我来说就像一个魅力。干杯!!快乐的编码。

【讨论】:

    猜你喜欢
    • 2015-02-27
    • 2020-10-30
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多