以下の様にすることでやりたいことはできると思います、試してみてください。
swift
1
2import UIKit
3
4class ViewController: UIViewController, UITextFieldDelegate {
5
6 @IBOutlet weak var textField: UITextField!
7 @IBOutlet weak var button: UIButton!
8
9
10 override func viewDidLoad() {
11 super.viewDidLoad()
12
13 button.isHidden = true
14
15 // 入力値が変更された時に呼ばれる通知を登録
16 NotificationCenter.default.addObserver(
17 self,
18 selector: #selector(self.didChangeNotification(notification:)),
19 name: NSNotification.Name.UITextFieldTextDidChange,
20 object: nil
21 )
22 }
23
24 // 入力値が変更された時に呼ばれるメソッド
25 func didChangeNotification(notification: Notification) {
26
27 guard let textField = notification.object as? UITextField,
28 let text = textField.text,
29 let _ = Int(text) else {
30
31 // ボタンを非表示
32 button.isHidden = true
33 return
34 }
35
36 // 入力された文字列がIntに変換できる場合のみボタンを表示
37 button.isHidden = false
38 }
39
40 // 通知の解除
41 deinit {
42 NotificationCenter.default.removeObserver(self)
43 }
44}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。