自分で調べるのであれば「UIButton 同時押し 禁止」等のワードで検索してみると同じ様な事で悩んでいる方の記事が見つかると思います。
少しずつでも自分で調べて解決できるように努力することが、上達への近道です。
UIView
クラスにはexclusiveTouch
という同時押し禁止のプロパティがあります。
デフォルトはfalse
なのでtrue
に変更すると有効になります。
しかし処理自体が非同期だったりすると同時で無ければ押せてしまいます、その場合は処理の間ボタンのenabled
(ボタンの有効、無効)をfalse
にしたり、インジケータを使用して画面をブロックすることで回避できます。
swift
1@IBOutlet weak var button1: UIButton!
2@IBOutlet weak var button2: UIButton!
3
4
5override func viewDidLoad() {
6 super.viewDidLoad()
7
8 #if swift(>=3.0)
9 // Swift3.0以降の処理
10 button1.isExclusiveTouch = true
11 button2.isExclusiveTouch = true
12 #else
13 button1.exclusiveTouch = true
14 button2.exclusiveTouch = true
15 #endif
16}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。