2016-12-28 2 views
0

Некоторое время назад я спросил a question о том, как добавить больше стандартной кнопки редактирования editActionsForRowAt. Благодаря опубликованным ответам, мое приложение теперь имеет 3-кнопочные функции для редактирования, как показано ниже!Добавить изображение к кнопке В «editActionsForRowAt» UITableView

enter image description here

Однако с iOS9 пришел довольно маленькие иконки, чтобы сопровождать текст ... и теперь у меня есть новый вопрос, как я могу получить эту функциональность?

enter image description here

Я Googled много поисков, как «Добавить к editActionsForRowAt» и ничего не нашел полезное. Если у вас есть код, ссылка на учебник или что-нибудь, что может заставить меня возглавить в правильном направлении, было бы весьма полезно.

+1

Вы действительно должны попытаться улучшить свой поиск Google навык, попробуйте 'uitableviewrowaction image' от ответа на ваш вопрос дают кучу ответов, как [это] (http://stackoverflow.com/questions/29421894/uitableviewr owaction-image-for-title) или [this] (http://stackoverflow.com/questions/27740884/uitableviewrowaction-title-as-image-icon-instead-of-text) – Tj3n

+0

вам нужно создать пользовательскую ячейку для такого рода действия. –

ответ

1

Один из комментариев приводит меня к использованию символов Юникода! Супер полезно, поскольку они могут быть добавлены в вашу обычную строку. Unicode символы включают в себя такие вещи, как:

Useful unicode character examples Useful unicode character examples 2 Useful unicode character examples 3

Так вы все это передать строку с юникода характер, то линия разрыва (\ п), то ваше название кнопки/текст. Таким образом, основной синтаксис выглядит следующим образом:

title: "\u{1234}\n YourText " 

Для удобства повторного использования (потому что у меня есть несколько таблиц) я ставлю символы, которые я хотел в структуры:

struct cellEditActionIcons { 
    static var editAction_Arrow = "\u{2191}" 
    static var editAction_Check = "\u{2713}" 
    static var editAction_Delete = "\u{2715}" 
} 

Затем вы можете создать кнопки, как это:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? { 
    var doneBut = UITableViewRowAction (style: .normal, title: "\(cellEditActionIcons.editAction_Check)\n YourText" { action, index in 
     //Do stuff 
    } 
    doneBut.backgroundColor = myColors.someColor 
} 
Смежные вопросы