2017-12-28 49 views
1

ボタンをクリックした後、ボタンから別のイメージに変更する必要があります。私はsetBackgroundImage()の助けを借りてこれを行いました。しかし、どのように私は ...一度にすべてのボタンのイメージを変更するだけ押下されるボタンにイメージを変えたい![ボタンセット] [1]次のボタンを押した後にすべてのボタンをリセットする

私のViewController

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    self.tableView.separatorStyle = .none 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! UIT 



     cell.TitleLabel.text=dataMas[indexPath.row] 
     cell.name.text = titleTrack[indexPath.row] 

     cell.btns.tag = indexPath.row 

     cell.btns.addTarget(self, action: #selector(ViewController.PlayTrack(_:)), for: UIControlEvents.touchUpInside) 







    return cell 
} 

とセルクラス

インポートのUIKit

クラスUIT:のUITableViewCell {

@IBOutlet weak var btns: UIButton! 


@IBOutlet weak var TitleLabel: UILabel! 
@IBOutlet weak var name: UILabel! 




override func awakeFromNib() { 

} 

override func setSelected(_ selected: Bool, animated: Bool) { 

} 

}

+0

あなたはより多くの情報を提供することができ? –

+0

@JeetendraKumar私が持っているすべてのコードは、ViewControllerクラスです:UITableViewController。 セルクラスUITで作業するためのクラスもあります:UITableViewCell – Alex

+0

すべてのボタンをView Controllerのインスタンスプロパティにし、ボタンのアクションメソッドでプロパティを変更するだけです。ユーザが 'button1'をタップした場合、そのボタンのアクションメソッドで、' button2'、 'button3'などで必要なプロパティを変更します。それ以上のことはありません。 – slickdaddy

答えて

1

あなたViewController.PlayTrack内にこれを試してみてください。

var numberOfButtons: Int = 5 
@IBOutlet weak var btns: UIButton! 

for i in 1...numberOfButtons { 
    if btns.tag == i { 
     // SET IMAGE TO BTN HERE. 
    } 
} 
+0

はい、クリックするとボタンが変わりますが、次のボタンをクリックすると、前のボタンはデフォルトの状態に変わりません – Alex

関連する問題