2017-02-19 3 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

и отредактируйте соответствующую метку внутри вашего класса.

В качестве альтернативы вы можете сохранить индексную панель за пределами закрытия и перезагрузить tableView.

+0

Спасибо! Это сработало отлично! Я пытался использовать tableView (tableView: cellForRowAt :) вместо tableView.cellForRow (at :). Большое спасибо за Вашу помощь! –

+0

Рад этому здесь;) Всегда помните, что 'tableView (tableView: cellForRowAt:)' - это метод 'UITableViewDataSource', который вы реализуете, чтобы передать tableView ячейкам, которые он должен использовать. 'tableView.cellForRow (at:)' позволяет вам обращаться к этим ячейкам. –

Смежные вопросы