Как отключить selectRowAtIndexPath, когда подвид виден - PullRequest
1 голос
/ 22 декабря 2009

Я пишу "tweetie 2", как функциональность смахивания, но столкнулся с тем, что, я надеюсь, является последним камнем преткновения.

Когда пользователь проводит пальцем по строке таблицы, представление «Элементы управления» анимируется, как и ожидалось, но при выборе строки didSelectRowAtIndexPath отключается. Желаемый результат для случая, когда вид «управления» виден, чтобы отключить метод didSelectRowAtIndexPath или для отсутствия лучшей фразы ... остановите цепочку респондента для продолжения после представления «управления».

Методы делегата uitouch используются / вызываются в пользовательской ячейке uitablview.

Ответы [ 2 ]

2 голосов
/ 22 декабря 2009

Как насчет установки / отмены значения allowsSelection в UITableView при необходимости?

1 голос
/ 22 декабря 2009

Здесь нужно немного логики. Допустим, вы добавили это свойство в свой подкласс UITableViewController:

NSIndexPath *indexPathForCellInUtilityMode;

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

NSIndexPath *cellIndexPath = [parentViewController.tableView indexPathForCell:self];
parentViewController.indexPathForCellInUtilityMode = cellIndexPath;

Тогда:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


if ([indexPath compare:indexPathForCellInUtilityMode] != NSOrderedSame) {
//Do whatever you're normally doing in this method.
}

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

...