Как установить максимальное значение для 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
}
}