Добавить кнопку «Плюс» для AccessoryType TableView - PullRequest
7 голосов
/ 11 июня 2011

Я пытаюсь реализовать TableView, где каждая ячейка имеет кнопку '+', как и приложение iPod при добавлении песен в список воспроизведения.

cell.accesoryType имеет только четыре значения

UITableViewCellAccessoryCheckmark

UITableViewCellAccessoryDetailDisclosureButton

UITableViewCellAccessoryDisclosureIndicator

и

None

Как это можно сделать? Мне нужно создать пользовательскую кнопку и установить cell.accessoryView или есть другой способ сделать это?

Ответы [ 4 ]

13 голосов
/ 30 сентября 2012

Решение Teo прекрасно работает, но оно не было опубликовано в качестве ответа, поэтому я делаю репост:

UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd];
[button addTarget:self action:@selector(addbuttonTapped) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView = button;
3 голосов
/ 02 апреля 2014

Простой вариант JosephH для памяти.

Если вы просто хотите использовать декоративную кнопку "+" и продолжать использовать оригинальный триггер didSelectRowAtIndexPath, используйте:

UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd];
[button setUserInteractionEnabled:NO];
cell.accessoryView = button;

Отключив пользователяпри взаимодействии с кнопкой она распространит событие давления на базовый вид: ячейка.

0 голосов
/ 11 июня 2011

Вы можете взглянуть на setEditing: animated:
Проверьте также Установка стиля редактирования для UITableViewCell

0 голосов
/ 11 июня 2011

Если вы создаете custom cell, поместите button на него в правом углу, точно так же, как там, где появляется accessory type, и присвойте ему свое изображение «+», чтобы вы также «увидели»изображение "и получите" событие действия кнопки ".

См. это руководство для пользовательских uitableviewcells.

...