Swift - Как ограничить несколько определенных c текстовых полей только для вставки int? - PullRequest
0 голосов
/ 29 апреля 2020

Как ограничить несколько указанных c текстовых полей, позволяющих вставлять только int? не все текстовые поля. только несколько конкретных c из них. Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Попробуйте это.

class ViewController: UIViewController,UITextFieldDelegate {

        @IBOutlet var yourTextField: UITextField!

        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
            yourTextField.delegate = self
        }

        func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
            //For mobile numer validation
            if textField == yourTextField {
                //Add specific int numbers
                let allowedCharacters = CharacterSet(charactersIn:"0123 ")//Here change this characters based on your requirement
                let characterSet = CharacterSet(charactersIn: string)
                return allowedCharacters.isSuperset(of: characterSet)
            }
            return true
        }

    }
0 голосов
/ 29 апреля 2020

Пробовал установить тип клавиатуры вашего textField?

yourTextField.keyboardType = .numberPad

Также можно посмотреть метод делегата

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
return true
}

Оттуда вы можете добавить logi c, чтобы вернуть true или false, если выбор textField соответствует вашим требованиям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...