2017-02-19 17 views
0

UITAbleViewRowActionを使用してカスタムボタンを追加しました。そのため、ユーザーが行を左にスワイプすると、そのボタンが表示されます。ボタンを押したときに、特定の行のフォント色を変更するにはどうすればよいですか?ありがとう!特定のセルのフォント色をUITableViewRowActionから変更するにはどうすればよいですか?

+0

ボタンを設定する方法がわかるようにコードを表示してください。 – Pierce

答えて

0

私は、あなたがあなたのアクション内でこれを行うことができ、あなたがtableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?を実装と仮定します:

let action = UITableViewRowAction(style: .normal, title: "Action") { (action, indexPath) in 
    let cell = tableView.cellForRow(at: indexPath) 
    cell?.textLabel?.textColor = .red 
    tableView.setEditing(false, animated: true) 
} 
return [action] 

あなたがUITableViewCellサブクラス化している場合は、次にあなたがしなければならないでしょう

let cell = tableView.cellForRow(at: indexPath) as! MySubclassTableViewCell

を編集し、クラス内の適切なラベルを編集してください。

また、クロージャの外側にindexPathを格納し、tableViewをリロードすることもできます。

+0

ありがとうございます!それは完璧に働いた!私はtableView.cellForRow(at :)の代わりにtableView(tableView:cellForRowAt :)を使用しようとしていました。ご助力ありがとうございます! –

+0

ここまでうれしい;) 'tableView(tableView:cellForRowAt:)'は、使用する必要があるセルをtableViewに伝えるために実装する 'UITableViewDataSource'メソッドです。 'tableView.cellForRow(at:)'はそれらのセルにアクセスできるようにします。 –

関連する問題