Настраиваемая прокрутка ячейки таблицы для остановки при полном расширении? - PullRequest
0 голосов
/ 04 октября 2018

Есть ли какой-либо способ легко достичь результатов на рисунках ниже (возможно, с помощью MGSwipeTableCell или SwipeCellKit или любого другого модуля, о котором вы знаете).Я почти уверен, что вы не можете сделать это, используя стандартный UIKit для iOS.

Здесь нужно учесть 2 вещи:

1) Действия по смахиванию ячейки табличного представления должны быть полностью настраиваемыми(поместив туда UIView, чтобы вы могли поместить что угодно в UIView) или, по крайней мере, приблизитесь к скриншоту, используя 1, а затем 5 кнопок (следовательно, различные действия смахивания для smallswipe и fullswipe)?

2) Действие по смахиванию ячейки табличного представления должно сначала (маленькое пролистывание) отображать только значок «будильник», как на первом изображении, и если вы щелкнете по нему или проведете еще дальше, он должен выглядеть так, как на втором рисунке,и что самое важное, оставайтесь такими, не отключая автоматическое отключение (не нужно выполнять никаких действий, кроме как ждать ввода от пользователя, чтобы выбрать другую ячейку или любую из кнопок там).

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

SmallSwipe

FullSwipeOrClick

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Я думаю, что в вашем tableCell вы можете добавить представление к contentView, которое будет заполнять все ячейки и перетаскивать его через UIPanGestureRecognizer.Ваши виды действий будут в режиме прокрутки.Как то так:

class SwipableTableViewCell: UITableViewCell {
    @IBOutlet var actionView: UIView // under mainView
    @IBOutlet var mainView: UIView // take whole place of contentView
    @IBOutlet var panGesture: UIPanGestureRecognizer

    @IBAction func panAction(_ sender: UIPanGestureRecognizer) {
        // drag main view left or right and logic of auto swiping 
    }
}
0 голосов
/ 04 октября 2018

Я действительно не знаю, сможете ли вы сделать маленький и полный удар по носителю.Метод смахивания для iOS 11: tableView (_: trailingSwipeActionsConfigurationForRowAt:) .

Оттуда я знаю, что есть executeFirsActionWithFullSwipe , который не допускает полного пролистывания в первый раз.Я думаю, что вы можете играть с этим двумя.В конфигурации вы можете добавить UIContextualAction, который имеет действие, изображение и даже цвет фона, которые вы можете установить.

Надеюсь, это поможет.

...