2011-06-11 4 views
6

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

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

UITableViewCellAccessoryCheckmark 

UITableViewCellAccessoryDetailDisclosureButton 

UITableViewCellAccessoryDisclosureIndicator

и

None 

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

ответ

0

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

См. this учебник для пользовательских uitableviewcells.

+5

Найдено решение UIButton * button = [UIButton buttonWithType: UIButtonTypeContactAdd]; [кнопка addTarget: self action: @selector (кнопкаTapped: event :) forControlEvents: UIControlEventTouchUpInside]; cell.accessoryView = кнопка; и создали процедуру обработки событий - (void) buttonTapped: (id) событие отправителя: (id) событие { } – teo

0

Вы можете посмотреть на setEditing:animated:
Проверьте также Setting the editing style on a UITableViewCell

+0

О да, это может быть правдой. Я не мог понять, что, возможно, он хочет отредактировать таблицу и добавить к ней строки, что яблоко делает зеленый знак «+»?! –

12

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

UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
[button addTarget:self action:@selector(addbuttonTapped) forControlEvents:UIControlEventTouchUpInside]; 
cell.accessoryView = button; 
+0

И это означает, что вы получаете upvote! – Saltymule

3

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

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

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

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

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