2019/12/31
UIButtonのタップで画像を切り替える – Swift5.0
備忘録。
例えばTodoアプリを作る中で、ボタンのタップでチェックマークが切り替わる処理を行う際に使えます。
画像は、ボタンタップでBool変数がtrueかfalseによって変更されます。
仮に3つの画像を切り替えたい場合には、余り(%)を使って、値に応じて出しわけるとかできそうです。
//画像の切り替え import UIKit class ViewController: UIViewController { //ストーリーボードでOutlet接続 @IBOutlet weak var imageView: UIImageView! var unchecked: UIImage = UIImage(named: "unchecked")! var checked: UIImage = UIImage(named: "checked")! //フラグを定義 var flg = false override func viewDidLoad() { super.viewDidLoad() } //UIButtonとAction接続 @IBAction func tapped(sender: AnyObject) { if flg { imageView.image = unchecked flg = false print("false") } else{ imageView.image = checked flg = true print("true") } } }
UIImageではなくて、UIButtonの画像を変える場合
これはUIButtonをOutlet接続している前提で、更にAction接続しているイメージです。
//ボタンタップ時の動作 @IBAction func tappedButton(_ sender: Any) { if flg { checkedButton.setImage(unchecked, for: UIControl.State()) flg = false print("false") } else { checkedButton.setImage(checked, for: UIControl.State()) flg = true print("true") }
お知らせ
ヒヨコ歩数計という歩きながらヒヨコが育っていくアプリを作って、いろんな方に結構使ってもらっています。RealmSwift, Admobの動画・インステ・バナー広告、UICollectionView、iOS-Charts、UITableViewを使用しているので、是非ご利用ください!