Как установить максимальное значение для UiTextField в Xcode(Swift)

Как сделать так, чтобы пользователю не удавалось вводить число больше заданного (не кол-во символов, а число Int)?


Ответы (1 шт):

Автор решения: schmidt9

Простейший вариант будет таким

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet var textField: UITextField!
    
    let maxNumber = 42
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        textField.keyboardType = .numberPad
        textField.delegate = self
    }

}

extension ViewController : UITextFieldDelegate {
    
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        let text = (textField.text ?? "") + string
        return (Int(text) ?? 0) <= maxNumber
    }
    
}

→ Ссылка