Четырехзначный экран ввода / вывода пин-кода в iOS

Может кто-нибудь предложить мне, как создать 4-значный экран ввода PIN-кода, например, одноразовый пароль, пользователь введет, и один круг будет проверен / затемнен.

Я знаю, что могу создать это, используя изображения и скрытое текстовое поле. Но я не могу выбрать лучший способ для того же.

Любая помощь будет оценена.

2 ответа

Представь, что у тебя есть UITextField, Сделать так, чтобы пользовательский ввод отображался в виде черных точек (а не раскрывать его информацию), так же просто, как сделать это (предполагая, что UITextField называется fieldи что вы используете Swift).

field.secureTextEntry = true

Честно говоря, я не совсем уверен, что вы спрашиваете, но это мое лучшее предположение.

Моя лучшая догадка, чтобы достичь этого с помощью изображения. Вы можете просто добавить изображение в подпредставление вашего 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)
         }

Точно так же вы можете сделать то же самое, если пользователь нажмет кнопку назад, чтобы очистить текстовое поле

Я сделал это и работает как шарм для меня. Ура!! Удачного кодирования.

Другие вопросы по тегам