iOS - 如何在桌面视图单元格中查看“滑动删除”操作?

问题描述 投票:1回答:2

当某个表视图控制器第一次显示时,如何简要显示表格行中是否存在红色的“滑动删除”功能?

以此编程方式使用peekaboo的目的是向用户显示该功能存在。

环境:iOS 11+和iPhone应用程序。

这是一个图像,显示细胞在中途滑动,基本“滑动删除”红色操作按钮。 Showing delete action under table cell via partial swipe

一位开发人员亲切地提到了SwipeCellKit,但SwipeCellKit有很多。我们要做的就是简单地模拟部分滑动以让用户知道“滑动删除”存在。换句话说,我们希望在单元格下的删除操作中提供一个潜行峰值。

如果它有帮助,这里是SwipeCellKit's showSwipe code的链接这是一个link with an example of its use

我查看了SwipeCellKit源代码。没有SwipeCellKit,我不清楚如何做到这一点。此外,使用SwipeCellKit目前不是一个选项。

谷歌搜索没有帮助。我一直在运行how to add swipe actions,但不是如何简单地向用户简要展示单元格下的Swipe Actions又名UITableViewRowAction项目。

如何向用户简要显示内置的“轻扫删除”操作?

ios uitableview swipe
2个回答
0
投票

我很确定无法做到这一点。滑动动作包含在UISwipeActionPullView中,其中包含UISwipeStandardAction子视图,两者都是私有的。它们也是表视图的一部分,而不是单元格,除非发生手势,否则它们不会被添加,因此您不能将单元格碰到一侧并在那里看到它们。

在UI自动化测试之外,如果不使用私有API,则无法模拟用户手势,因此您无法“伪造”滑动,然后向用户显示结果。

但是,当你可以作弊时,为什么还要“正确地”做这件事呢?将单元格的内容视图略微向左反弹并且在红色框中反弹(不是太远以至于您可以看到文本,以避免本地化问题)应该不会太难,然后恢复正常。在第一次加载表视图时执行此操作,并在N次之后或在用户证明他们知道此特定iOS约定如何工作之后停止执行此操作。


0
投票

第一:启用编辑

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
   return true
}

然后自定义您的滑动

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
   let conformeRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: NSLocalizedString("C", comment: ""), handler:{action, indexpath in
        print("C•ACTION")
    })
   conformeRowAction.backgroundColor = UIColor(red: 154.0/255, green: 202.0/255, blue: 136.0/255, alpha: 1.0)
   let notConform = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: NSLocalizedString("NC", comment: ""), handler:{action, indexpath in
        print("NC•ACTION")
    })
   notConform.backgroundColor = UIColor(red: 252.0/255, green: 108.0/255, blue: 107.0/255, alpha: 1.0)
   return [conformeRowAction,notConform]
}
© www.soinside.com 2019 - 2024. All rights reserved.