当前位置: 首页 > 知识库问答 >
问题:

Swift-在静态UITableView中滑动删除(没有删除按钮)

那存
2023-03-14

我想实现一个功能,使用Swift 3.0将整个表单元格扫走。比如如何在iOS10的邮件应用程序中滑动删除。

重要的是要注意,我不是指滑动以显示删除按钮,然后处理删除。我的意思是用户可以在屏幕上从右向左滑动来删除。(还要注意,tableView是静态的,而不是动态的)

我必须为此实现UISWipleTestureRecognitor吗?

共有2个答案

伏星汉
2023-03-14

您只需添加这些函数,并根据需要进行更改。

override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
         }

还有这个

    override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {

        let example1 = UITableViewRowAction(style: .normal, title: "example1") { (action: UITableViewRowAction!, indexPath: IndexPath!) -> Void in
            //  run your desired action
        }

        example1.backgroundColor = .white

        let example2 = UITableViewRowAction(style: .normal, title: "example2") { (action: UITableViewRowAction!, indexPath: IndexPath!) -> Void in
            //  run your desired action
        }

        example2.backgroundColor = .green

        let example3 = UITableViewRowAction(style: .normal, title: "example3") { (action: UITableViewRowAction!, indexPath: IndexPath!) -> Void in
            //  run your desired action
        }

        example3.backgroundColor = .orange

        return [example1, example2, example3]

    }
张建华
2023-03-14

您可以实现UITableViewDataSource方法tableView(_:提交: forRowat:)tableView(_: canEditRowat:),就像您对具有动态内容的表一样。

但是,在具有静态内容的表中,不能插入或删除行。由于表是静态的,行应该保持不变。您所能做的是更新已刷行以反映已删除状态。

例如:在我的应用程序中,我使用内置的滑动手势重置设置。用户滑动行(静态内容),点击删除按钮,应用程序相应地设置该单元格中的标签和图像。该行不会被删除,只会被更新,就像您通常对静态单元格所做的那样(分配出口并像其他静态内容一样访问它们)。

编辑:还要检查出iOS11中的UISwipeActionsConfiguration类的performsFirstActionAnd FullSwip属性。将其设置为true以允许完全滑动手势,无需安装自己的识别器。

你确实提到iOS10邮件;我不知道苹果是否或如何在iOS10做到这一点,因为这个属性是iOS11的功能。另外iOSMail很可能有一个包含动态内容的表。

 类似资料:
  • 问题内容: 我是Swift编码和学习的新手,我正在关注swift 2的教程并使用swift 3,因此在继续学习时会遇到一些问题,这是我一直坚持的问题。 我有一张名字表,我正在为它们做一个滑动和删除功能,将它们从一个名称变量中删除,该变量是一个数组。我选择了与xcode内的教程最相似的函数并将其填充,但是当我单击删除按钮时,我的应用程序会随机崩溃。这是我的删除按钮代码… 问题答案: 适用于 Swif

  • 我已经在我的应用程序中使用了上述代码。编辑部分工作正常,但问题是,只有当我们在单元格上从左向右滑动时,删除按钮才会出现。现在我有了一个菜单,可以像Facebook一样从左向右滑动。那么,我如何确保当用户从右向左滑动时,删除按钮出现呢。

  • 定义 模拟短信、微信聊天列表滑动删除的组件。 图片展示 代码演示 import SwipeAction from 'pile/dist/components/swipeaction' const {SwipeAction, Layouts} = pile, { Layout, LayoutHd, LayoutHdTitle, LayoutHdAside, LayoutBd, LayoutFt

  • 问题内容: 首先,我很抱歉如果这个答案已经在这里,因为我已经搜索了几个星期,还没有找到任何东西。 我正在开发一个Android应用,该应用需要允许用户创建和删除按钮。我知道如何通过将按钮添加到XML文件并在JAVA文件中创建其功能来正常静态地创建按钮。 相反,我有一个静态按钮,我将其称为“创建按钮”。当用户按下“创建按钮”时,应该给他们选择向当前活动添加新按钮的选项,允许他们更改该按钮的标题等。他

  • DELETE /feeds/:feed/currency Response Status: 204 No Content