見出し画像

Swiftでいこう。 - Swiftplaygrounds3

もう少しいじってみましょう。ボタンを押して背景を変えるのと、ボタンの表示を変えてみます。

コードを追加するのは、ボタンを押した時のアクション、動きをするタイミングと、内容の2つになります。

まず、押した時の動作を書いて行きます。

うまく動かすには、class  を作ってその中に動作を指定いきます。

class ButtonAction{
    @objc func tap(){
        view.backgroundColor = .red
        button.backgroundColor = .purple
        button.setTitle("押したよ!", for: .normal)
    }
}

こんな感じです。ポイントは

“@objc func”というふうにすることかな。

これを実体化、変数に入れて行きます。

var target = ButtonAction()

そして、

button.addTarget(target, action: #selector(target.tap), for: .touchUpInside)

こんな感じでボタンを押した時の命令を書いて行きます。

これで、ボタンを押した時に背景が変わり、ボタンのタイトルも変わります。

全体像をご紹介。

最初です。

ボタンを押すと、

コードです。

import UIKit
import PlaygroundSupport

let view = UIView()
view.backgroundColor = #colorLiteral(red: 0.584313750267029, green: 0.823529422283173, blue: 0.419607847929001, alpha: 1.0)
let button = UIButton(frame:CGRect(x: 50, y: 50, width: 200, height: 50))
button.backgroundColor = .blue
button.setTitle("押してね", for: .normal)

button.layer.cornerRadius = 15
view.addSubview(button)

class ButtonAction{
    @objc func tap(){
        view.backgroundColor = .red
        button.backgroundColor = .purple
        button.setTitle("押したよ!", for: .normal)
    }
}
var target = ButtonAction()
button.addTarget(target, action: #selector(target.tap), for: .touchUpInside)
PlaygroundPage.current.liveView = view

この記事が気に入ったらサポートをしてみませんか?