Как достичь той же функциональности, что и приложение для iOS Mail с помощью ячейки с чеклибером?

Я пытаюсь воспроизвести тот же тип функциональности, что и приложение для почтовых ящиков iOS, когда пользователь просматривает ячейку tableview, как показано на рисунке:

введите описание изображения здесь

Есть 3 варианта: больше, флаг и архив. Когда пользователь нажимает на любой из 3, цвет фона изменяется, указывая, что он находится в выделенном состоянии. Однако значок и текст не меняют цвет.

Я пытаюсь добиться такого же эффекта.

Я следую этому руководству по учебным пособиям, чтобы создать пользовательскую ячейку tableview с использованием swipeable, используя жесты:

Как сделать свистящую панель для просмотра таблицы с действиями – без использования орехов со списком прокрутки

В настоящее время у меня есть это:

введите описание изображения здесь

В каждой ячейке содержится 3 UIViews , где каждый UIView содержит UIImageView и UILabel представляющие Dirty, Edit, Delete.

Я добавляю жесты жесты к 3 UIViews следующим образом:

 let dirtyButtonView = cell.viewWithTag(7) let editButtonView = cell.viewWithTag(8) let deleteButtonView = cell.viewWithTag(9) let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(MyVC.buttonPressed)) tapRecognizer.numberOfTapsRequired = 1 dirtyButtonView?.addGestureRecognizer(tapRecognizer) editButtonView?.addGestureRecognizer(tapRecognizer) deleteButtonView?.addGestureRecognizer(tapRecognizer) 

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

Я не уверен, что это правильная реализация, т. UIView и добавление к нему жест?

Как я могу достичь чего-то похожего на функциональность прокрутки приложения iOS Mail?

благодаря

2 Solutions collect form web for “Как достичь той же функциональности, что и приложение для iOS Mail с помощью ячейки с чеклибером?”

Я нашел именно то, что искал, SwipeCellKit , by jerkoch. Эта библиотека выполняет те же точные действия, что и приложение для почтовых ящиков iOS при прокручивании влево. Не нужно иметь дело с различными UIViews и UIButtons .

Чтобы использовать, просто совместите SwipeTableViewCellDelegate и используйте его в editActionsForRowAt так:

 func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? { guard orientation == .right else { return nil } let deleteAction = SwipeAction(style: .destructive, title: "Delete") { action, indexPath in // handle action by updating model with deletion } // customize the action appearance deleteAction.image = UIImage(named: "delete") return [deleteAction] } 

Обязательно измените класс ячейки на SwipeTableViewCell и установите его делегат следующим образом: cell.delegate = self .

Я бы посмотрел на SWTableViewCell от CEWendel. Похоже, у него есть именно то, что вы ищете.

Interesting Posts

Не удалось запустить приложение в Simulator XCode 6.0

Слушатель событий Http IOS (Постоянное http-соединение)

Оценка UICollectionViewFlowLayoutItemSize прокручивает прокрутку?

UIWebView PaginationMode всегда показывает белый фон, как сделать его прозрачным?

В чем разница между AVPlayer и AVAudioPlayer по функциональности?

NSNumber double с большим количеством десятичных знаков, округленное / усеченное

iOS – Открытые карты Apple с широтой и долготой

Выполняет ли AFHTTPRequestOperationManager запросы на операциюQueue?

Войдите в твиттер IOS, не переходите к настройкам (например, instagram)

Возможно ли получить доступ к целевой версии XCode и строковым цифрам?

NSPredicate с массивом NSNumbers

Xcode 8 со смешанным проектом Swift и Objective-c сгенерированный заголовок «ModuleName-Swift.h» не найден

Создайте ipa без сертификата разработчика для удаленного распространения

Динамически создавать объекты Core Data во время выполнения

Текст UITextView теряет размер шрифта, когда я устанавливаю атрибут в NSTextStorage с помощью NSUnderlineStyleAttributeName

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.