iPad mini2のSwift PlaygroundsでUIKitでUIButtonを使ってみる。
前回は、UIKitでHello worldを表示させるのを試した。
今回はその続きで、UIKitのUIButtonでボタン関係の処理を動かすのを試してみた。

ネットでUIButtonの使い方を調べて、それを参考にコードを書いていたのだけどSwift Playgroundsではうまく動かずに悩んだ。Swift3だから書き方が変わってしまったのだろうか?
さらに色々と調べて試行錯誤した結果、動くコードを書くことができた。

import UIKit
import PlaygroundSupport
let view=UIView()
PlaygroundPage.current.liveView=view
view.backgroundColor=UIColor.blue
let button = UIButton(frame:CGRect(x: 50, y: 50, width: 200, height: 50))
button.backgroundColor=UIColor.gray
button.layer.masksToBounds=true
button.layer.cornerRadius=10
button.setTitle("Go", for: UIControlState.normal)
view.addSubview(button)
class buttonReceiver{
    @objc func buttonClick() {
        button.backgroundColor=UIColor.red
        button.setTitle("done.", for: UIControlState.normal)
    }
}
let receiver=buttonReceiver()
button.addTarget(receiver, action: #selector(buttonReceiver.buttonClick), for: UIControlEvents.touchUpInside)
class buttonReceiverの書き方が今回のポイントだ。
このボタンをタップすると、次のようにボタンの表示が「done.」に変わり、赤色に変化する。

ボタンをタップした時のイベントを受け取って、func buttonClickの処理が呼ばれているのが確認できた。
