Четырехзначный экран ввода / вывода пин-кода в 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)
}
Точно так же вы можете сделать то же самое, если пользователь нажмет кнопку назад, чтобы очистить текстовое поле
Я сделал это и работает как шарм для меня. Ура!! Удачного кодирования.