SWIFT UIBUTTON タップによる動作

前回UIBUTTON を表示させたので

今回は表示させたボタンをタップし
アクション(画面遷移 etc...)を呼ぶ設定します。

サンプルコード

"テスト"と記載しているボタンをタップすると
コンソールに"ok"と表示させる。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        var testButton = UIButton()
        testButton.frame = CGRectMake(10, 20, 300, 40)
        testButton.backgroundColor = UIColor.redColor()
        testButton.setTitle("テスト", forState: UIControlState.Normal)
        
//タップ時の処理を設定
        testButton.addTarget(self, action: "touchTestButton:", forControlEvents: UIControlEvents.TouchDown)
        
        self.view.addSubview(testButton)
    }

//タップ時の処理
    func touchTestButton(UIButton){
        print("ok")
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }


}

解説

追加したコードは以下です。

//①タップ時の処理を設定
        testButton.addTarget(self, action: "touchTestButton:", forControlEvents: UIControlEvents.TouchDown)

//②タップ時の処理
    func touchTestButton(UIButton){
        print("ok")
    }

まず①ですが
このコードで指定しているのは

ターゲットを"self"(自クラス)に

 →ターゲットがなんぞやというのはわかりません
  とりあえず"self"と記述すれば正常に動きます。

タップ時に"touchTestButton"という関数(処理)を実行

 →関数名は好きなようにつけれます。

ボタンが実行されるタイミングを"TouchDown"(タップした直後)に指定

 →他の設定として複数回タップした時等あります。
  UIControl - iPhoneアプリ開発の虎の巻

次に②では
①で指定した関数の処理を記載したいます。
今回は例として
コンソールに"ok" と表示する処理にしました。


これでボタンのタップによる動作が可能になります。