Включить перетаскивание UITableViewCell без метода "setEditing:" - PullRequest
3 голосов
/ 22 марта 2012

Я пытаюсь включить перетаскивание UITableViewCell, чтобы поменять их местами.Это не проблема, но я хочу сделать это без метода "setEditing:".Я хочу поменять ячейки перед тем, как пользователь перетаскивает ячейку, используя что-то вроде longGestureAction, и помещаю ее в другое место, но без отключения метода selectRow и без отображения боковых значков.

Мне не нужно что-то подобное:

1img http://dl.dropbox.com/u/10739464/stackoverflow/bad.png

Я хочу что-то подобное / с возможностью перетаскивания и конечно /:

2img http://dl.dropbox.com/u/10739464/stackoverflow/good.png

О, мне нужновключите перетаскивание, как в приложении «Очистить».

Ответы [ 2 ]

6 голосов
/ 22 марта 2012

Вы можете легко получить этот эффект , используя -setEditing:.Вам просто нужно присвоить некоторые свойства вашего UITableViewCells:

- (UITableViewCell*)tableView:(UITableView)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = ...;

    cell.shouldIndentWhileEditing = NO;
    cell.showsReorderControl = NO;

    return cell;

}

Просто убедитесь, что вы вызываете метод -setEditing: в -viewDidLoad:

- (void)viewDidLoad {
    [tableView setEditing:YES animated:NO];
}

РЕДАКТИРОВАТЬ: Я немного поискал в Интернете и нашел это: JTGestureBasedTableViewDemo для iOS .Это на основе ClearApp, и это очень впечатляет.Вы можете посмотреть, как это делается, и применить некоторые решения в своем приложении:)


РЕДАКТИРОВАТЬ # 2: Если вы хотите включить выбор во время редактирования, просто установите это свойство вtableView:

tableView.allowsSelectionDuringEditing = YES;
1 голос
/ 21 марта 2014

Вы можете попробовать это: https://github.com/ice3-software/i3-dragndrop и этот стек по потоковой ссылке: перетаскивание из uitableviewcell в представление uiimage в ios

(Для вышеупомянутой библиотеки выможно использовать попробуйте использовать 1-й пример.)

Мне бы больше понравилось публиковать это как комментарий ... но мне не хватает репутации.

Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...