2016-05-02 1 views
2

私はUIButtonの中で実行される単純な関数を持っています。Swiftのクリック数の後にUIButtonを制限する

私は、UIButtonのプレス回数を5回以下に制限したいと考えています。

クリック数をカウントするためにタップジェスチャーを使用する必要があるかどうか、またはボタン操作方法についてはわかりません。

誰かが正しい方向に向いていますか?

+1

はボタンを無効にするには、ボタンのタップと '.enabled'財産に反応するように' UIControl'の標準ターゲット・アクション・メカニズムを使用してください。 – werediver

答えて

2

独自のボタンを作成することをおすすめします。

class MyButton: UIButton { 

    private (set) var amountOfTouches: Int = 0 { 
     didSet { 
      if self.amountOfTouches >= 5 { 
       self.enabled = false 
       self.userInteractionEnabled = false 
      } 
     } 
    } 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
     super.touchesBegan(touches, withEvent: event) 
     self.amountOfTouches += 1 
    } 

} 
+1

すごい素敵なコードですよ!これは選択する答えでなければなりません。 –

1

関数内で変数を使用することができます。

var CountTaps = 0 // starts with 0 at app-start 

CountTaps += 1 

if CountTaps <= 5{ 
    your code 
} 
2

このコードを試してみてください。

var count: Int = 1 

@IBAction func btnSendClicked(sender: AnyObject) { 
     count ++ 
     if count == 5 
     { 
      sender.userInteractionEnabled = false 
     } 
} 
関連する問題