2017-09-21 8 views
0

私は1つのボタンがあるカスタムセルを1つ作成しました。私はそのボタンのクリックでセルの色を変更したい(didSelect行ではない)。私はcellforrowメソッドのボタンにタグを与えセレクタメソッドを呼び出しました。ボタンでセルオブジェクトを取得する方法カスタムセルをクリックしますか?

btnCell.tag = indexPath.row 
btnCell.addTarget(self, action: #selector(buttonClicked(sender:)),for: .touchUpInside) 


func buttonClicked(sender:UIButton) { 
//how can i change cell color on button this click 
} 

ボタンアクションでセルオブジェクトを作成してセルの色を変更するにはどうすればよいですか? 答えは客観的-cでも歓迎します。

+0

様々な解決策:https://stackoverflow.com/questions/ 28659845/index-row-when-a-button-in-a-cell-is-tapのswift-how-to-get-the-wayパス行は、ここにあります:https://stackoverflow.com/questions/29913066/how-to-セルフ・イン・スウィフト・オン・ボタン・タグ・タグのアクセス・コンテンツ、ここでは:https://stackoverflow.com/questions/39585638/get-indexpath-of-uitableviewcell-on-click-セルからのボタンの選択。 –

答えて

0

ボタンのセルのインデックスを格納する属性を持つボタンのカスタムオブジェクトを作成できます。

これらは手順のようになります。

  • Crear、ボタンのカスタムオブジェ。
  • セルのIndexPathを格納するvarを追加します。
  • func CellForRowAtIndexPathでは、各セルのインデックスパスをボタンに設定します。
  • ボタンをタップすると、その中のインデックスパスを確認し、テーブルビューとこのインデックスを使用してセルを取得します。
  • 変更の仕事をするだろうあなたのセルの色

0

この回答は迅速2.2.1でこれを行っているされており、私のために正常に動作している、私はこれがあなたのために働くべきだと思う:ここ

func buttonClicked(sender:UIButton) { 
    { 
     let indexPath = NSIndexPath(forRow: sender.tag, inSection: 0) 
     let cell = self.tableView.cellForRowAtIndexPath(indexPath) 
     cell?.backgroundColor = UIColor.redColor() 
    } 
関連する問題