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" と表示する処理にしました。
これでボタンのタップによる動作が可能になります。