【Swift/ストリボード無し】UIButtonにタップイベントを追加する方法

タップしないアプリはないはず。

その中でも多く実装されるのがUIButton。

UIButtonをタップしたときに色々できるようにするためにタップされたときに関数を動かせるようにするサンプルコードを載せておきます。

  • Swift version 4.2.1
  • Xcode Version 10.1

ストリボード無しでUIButtonにタップイベントを追加

class ViewController: UIViewController {
    
    let sampleUIButton:UIButton = UIButton()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.view.backgroundColor = .white
        
        self.sampleUIButton.frame = CGRect(x: 100, y: 300, width: 200, height: 20)
        // タップされたとき(touchUpInside)に関数が実行されるように追加
        self.sampleUIButton.addTarget(
            self,
            action: #selector(self.uiButtonTapEvent(_:)),
            for:.touchUpInside
        )
        
        self.sampleUIButton.setTitle("Hello World!", for: .normal)
        self.view.addSubview(self.sampleUIButton)
    }
    
    // uibuttonがタップされたときに動く関数
    @objc func uiButtonTapEvent(_ sender:UITapGestureRecognizer) {
        print("tapped uibutton")
    }
}
以上!