2016-05-06 21 views
-3

UIButtonを一緒にクリックすると、同時に開くようになります。私の目的は、私が単一のUIButtonをクリックしたとき、他はクリック可能ではないということです。これはマルチタッチ機能に関するものだと思います。私はワンタッチで使いたい。SwiftでUIButtonのマルチクリックを無効にする方法はありますか?

マイコード:

self.view.multipleTouchEnabled = false 
    self.view.exclusiveTouch = true 

私はviewDidLoadにこのコードを試みたが、うまくいきませんでした。

+1

投稿したコードは、ボタンとは関係ありません。あなたは何をしようとしているのですか ? –

+0

http://stackoverflow.com/questions/30251663/how-to-disable-multi-click-on-buttonここにこのコードがあります。なぜあなたはこれは何もないと言っているのですか?私はそれが動作しないことを知っています。私はそれのために頼んでいる。質問のタイトルは非常に明確です。だから10分で奇妙な3 downvote。 – winnervswinner

+0

したがって、それぞれが新しいviewControllerを押す2つのボタンがありますか? – vacawama

答えて

4

はViewControllerを、各ボタンから-dragging 制御して、ボタンごとに@IBOutlet Sを追加し、それらに、このようなbutton1button2button3などユニークな名前を付けます。

class ViewController: UIViewController { 

    @IBOutlet weak var button1: UIButton! 
    @IBOutlet weak var button2: UIButton! 
    @IBOutlet weak var button3: UIButton! 

そしてviewDidLoadに、ボタンのそれぞれについてtrueexclusiveTouchプロパティを設定:

override func viewDidLoad() { 
    super.viewDidLoad() 

    button1.exclusiveTouch = true 
    button2.exclusiveTouch = true 
    button3.exclusiveTouch = true 

を第1の押圧の処理中にこれが押されてから2番目のボタンを防止します。

+0

ありがとうございました。出来た。また、navバーの場合: 'self.navigationController?.navigationBar.exclusiveTouch = true' – winnervswinner

+0

拡張UIButton { open override func touchesBegan(_タッチ:イベントの場合はと設定します:UIEvent?){ super.touchesBegan(with:イベント) self.isEnabled =偽 DispatchQueue.main.asyncAfter(締切:.now()+ 1){ self.isEnabled =真 } }} –

0

あなたの質問は明らか本当にではありませんが、私はあなたがすべてのボタンにfalseに(docsを参照してください)プロパティexclusiveTouchを設定することによって解決される非常に一般的な問題で立ち往生しているとします。

関連する問題