LoginSignup
2
3

More than 5 years have passed since last update.

[swift3]数字のみ入力可能 + 最大値での制限ありのUITextField

Posted at

数字のみ入力可能で最大値での制限のあるUITextFieldを作ろうと思ったがちゃんと動くものが見つからなかったのでメモ
UITextFieldの文字数制限とキーボードの収納 [Swift3.0]を参考にしました。

コード

@IBOutlet var textField: UITextField!

override func viewDidLoad() {
        super.viewDidLoad()
        NotificationCenter.default.addObserver(self,selector:#selector(textFieldDidChange),name: NSNotification.Name.UITextFieldTextDidChange,object: textField)
    }

@objc func textFieldDidChange(notification: NSNotification) {
        let textField = notification.object as! UITextField
        guard let text = textField.text else { return }
        guard let intText = Int(text) else { textField.text = ""; return }
        if intText > 1000 {
            textField.text = text.substring(to: text.index(text.startIndex, offsetBy: 3))
        }
    }
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3