OKADA LABO

Swiftでbuttonをソースコードで配置する

swiftでボタンをソースコードで配置する書き方。
時々、混乱するんでここに書いておく。

xcodeのインターフェイスビルダーで、
ボタン[Button]を配置するなら、
ButonnをViewControllerに、
簡単に配置できますが

@IBOutlet weak var myButton: UIButton!

これをソースコードで書いてみましょう。

ViewController.swift

import UIKit

class ViewController: UIViewController {

    //@IBOutlet weak var myButton: UIButton! ←これをソースコードで書いてみる。

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        //まずソースコードでボタンを宣言する
        let myButton = UIButton()

        //ボタン枠のサイズを決める
        myButton.frame.size = CGSize(width: 100, height: 50)
        
        //フォントとサイズを決める
        myButton.titleLabel!.font = UIFont(name: "Helvetica-Bold", size: 30)

        //ボタンの位置を決める。
        myButton.center = self.view.center

        //通常時のテキスト表示
        myButton.setTitle("Tap", for: UIControlState.normal)
        //通常時の色
        myButton.setTitleColor(UIColor.blue, for: UIControlState.normal)

        //タップを押した時の処理 tapButtonを実行 引数(_:)によってボタンそのものを引数として受け取る
        myButton.addTarget(self, action: #selector(self.tapButton(_:)), for: UIControlEvents.touchUpInside)

        //上記の内容でViewController上に配置する
        self.view.addSubview(myButton)
    }


    //action tapButtonの内容。 (_:)のsenderはタップされたボタンを引数として渡すということ
    @objc  func tapButton(_ sender: UIButton) {
        print("ボタンがタップされました!")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}