В SWTableViewCell кнопки UtilityButtons не отвечают на свойство setTag

Я использую SWTableViewCell, чтобы переопределить Standard TableViewCell, чтобы показать его служебные кнопки с возможностью прокрутки влево и вправо, я могу получить доступ к раскадровке или я могу перейти к detailViewController.

Однако у меня проблема с служебными кнопками setTag Свойство

Как я могу получить доступ к IndexPath строки UitlityButtons, хотя я уже пробовал следовать.

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
NSLog(@"selected favourite button tag %ld",(long)indexPath);

В симуляторе это дает мне один и тот же результат каждый раз для каждой строки.

выбранный тег избранной кнопки 0

Любое решение для получения свойства кнопки "setTag" для доступа к индексному пути строки для этих служебных кнопок в SWTableViewCell при нажатии, как в обычном табличном представлении.

or

Как получить доступ к свойству setTag служебных кнопок для доступа к indexPath строки, содержащей эту конкретную кнопку, при нажатии.


person Hina Khan    schedule 27.02.2017    source источник
comment
stackoverflow.com/ вопросы/28894765/   -  person Brijesh Shiroya    schedule 27.02.2017
comment
Должен быть метод делегата, в котором вы получите выбранную строку.   -  person Samkit Shah    schedule 27.02.2017
comment
indexPath.row или indexPath.section, а не indexPath.   -  person    schedule 27.02.2017
comment
В этом сообщении об удалении отображается только представление предупреждения без какой-либо ссылки на эту строку @Mind_Sparkles   -  person Hina Khan    schedule 27.02.2017
comment
@Sneak, уже пробовал метод indexPath.row, но показывает что-то в (длинном) формате, но одно и то же число для каждой и каждой строки. что означает, что он не показывает ожидаемого результата.   -  person Hina Khan    schedule 27.02.2017
comment
вы должны установить делегата ячейки   -  person Dishant Rajput    schedule 27.02.2017


Ответы (1)


Вы должны использовать SWTableViewCellDelegate. При возврате ячейки в методе cellForRow метода UITableViewDataSource установите делегата ячейки в качестве контроллера представления (cell.delegate = self) и реализуйте протокол SWTableViewCellDelegate.

SWTableViewCellDelegate:

- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerLeftUtilityButtonWithIndex:(NSInteger)index;
- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index;

В любом из этих двух методов делегата вы можете получить доступ к indexPath ячейки, чья служебная кнопка нажата, например, так:

NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"Index path: %@", indexPath);

Вот вам и indexPath.

person Adeel    schedule 27.02.2017