Swift3.0で、for文でUIButtonを複数個生成・押したボタンのタグに応じて画像を変更する方法が分かりません。
Objective-Cの場合、UIButtonを複数個生成した後
objective
1btn[1].image = image1;
のように、ボタン名[index]で指定することにより各ボタンの画像を設定する事ができますが、
Swiftでも同様の事ができるのでしょうか?
現在のコードはこちらになります。
swift
1import UIKit 2 3class ViewController: UIViewController { 4 5private var Selectbtn: [UIButton]! 6var SelectbtnImage: UIImage! 7 8override func viewDidLoad() { 9 super.viewDidLoad() 10 11 self.view.backgroundColor = UIColor.white 12 13 for i in (0 ..< 4) { 14 15 let Selectbtn = UIButton() 16 Selectbtn.frame = CGRect(x: 25+(i*60) + (i*10),y: 370,width: 60,height: 60) 17 SelectbtnImage = UIImage(named: "\(i+1)_a.png")! 18 Selectbtn.setBackgroundImage(SelectbtnImage, for: UIControlState()) 19 Selectbtn.tag = i+1 20 Selectbtn.addTarget(self, action: #selector(ViewController.changeImage(_:)), for: .touchUpInside) 21 self.view.addSubview(Selectbtn) 22 23 } 24} 25 26func changeImage(){ 27 28 for i in (0 ..< 4) { 29 30 if clothFlg == true { 31 32 Selectbtn.setBackgroundImage(UIImage(named:"\(i+1)_a.png"), for: UIControlState()) 33 34 }else{ 35 36 Selectbtn.setBackgroundImage(UIImage(named:"\(i+1)_b.png"), for: UIControlState()) 37 38 } 39 } 40} 41
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/10 10:37
退会済みユーザー
2016/10/10 11:36 編集
2016/10/10 11:31
退会済みユーザー
2016/10/10 11:35
退会済みユーザー
2016/10/10 11:37 編集
2016/10/10 12:25
退会済みユーザー
2016/10/10 22:05
2016/10/11 10:30
2016/10/11 10:52