标签: uiswipeactionsconfiguration

通过向后滑动关闭UISwipeActionsConfiguration

我使用新的iOS 11 UISwipeActionsConfigurationAPI 实现了拖尾滑动操作,我可以通过从边缘滑动来显示它们,可以一直滑动到左侧等.

但我无法通过刷回原来的位置来隐藏这些行为.如果我向左拖动一点然后向右拖动它会消失(参见gif).通过点击一个单元格也会被解雇.

官方邮件应用程序支持拖动以隐藏滑动操作,因此API中也可能有一种方法.

请参阅此处的示例项目:https://github.com/nezhyborets/ios-case-study-playgrounds/tree/master/UISwipeActionsConfiguration

在此输入图像描述

uitableview uikit ios uiswipeactionsconfiguration

7
推荐指数
2
解决办法
1273
查看次数

UISwipeActionsConfiguration/UIContextualAction 带有图标和文本以及清晰的背景

有几个类似的问题(例如我之前的 iOS10 变体),但我认为应该有一个针对 iOS 11 的最新答案,使用 Swift4,不使用私有 API,也不依赖于您将图标限制为 unicode 表情符号。

随着 API 向 iOS11 的发展,我们现在可以放置图像和文本,但它们被迫进入模板模式,并使用您设置的任何背景颜色反转颜色。例如

let rename = UIContextualAction(style: .normal, title: "Rename") { (_, view, _) in
    self.renameEntry(indexPath)
}
rename.backgroundColor = UIColor.black
rename.image = UIImage(named: "pencilEdit")
let locate = UIContextualAction(style: .normal, title: "Locate") { (_, view, _) in
    self.locateEntry(indexPath)
}
locate.backgroundColor = UIColor.blue
locate.image = UIImage(named: "locatePin")
let delete = UIContextualAction(style: .destructive, title: "Forget") { (_, view, _) in
    self.deleteEntry(indexPath)
}
delete.backgroundColor = UIColor.red
delete.image = UIImage(named: "triggerDeleteSelector") …
Run Code Online (Sandbox Code Playgroud)

uitableview ios ios11 uiswipeactionsconfiguration uicontextualaction

5
推荐指数
1
解决办法
7780
查看次数

TrailingSwipeActionsConfigurationForRowAt 中的图像似乎不起作用

我正在尝试实现一项新的 iOS11 功能,该功能允许您在桌面视图滑动操作中正式使用图像。

所以,我想出了这个:

@available(iOS 11.0, *)
    func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
        let deleteAction = UIContextualAction(style: .normal, title:  "", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
            //whatever
            success(true)
        })
        let theImage: UIImage? = UIImage(named:"Delete")?.withRenderingMode(.alwaysOriginal)

        deleteAction.image = theImage
        return UISwipeActionsConfiguration(actions: [deleteAction])
    }
Run Code Online (Sandbox Code Playgroud)

我的资产目录中有这个 .png 。我尝试了使用和不使用渲染模式。无论哪种情况,图像都会正确显示在调试器中:在此输入图像描述

但未能在模拟器中显示(“这里什么都没有”标记了我期望图像显示的位置): 在此输入图像描述

难道我做错了什么?

ios uiswipeactionsconfiguration

5
推荐指数
1
解决办法
3219
查看次数

为什么前导滑动操作也重复为尾随操作?

我在我的 tableView 上实现了一个前导滑动操作(“删除”),由于我无法弄清楚的原因,它也显示为尾随滑动操作。参见下面的代码:

func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) ->
    UISwipeActionsConfiguration? {
    let delete1 = deleteAction(at: indexPath)
    return UISwipeActionsConfiguration(actions: [delete1])
}

func deleteAction(at indexPath: IndexPath) -> UIContextualAction {
    let action = UIContextualAction(style: .destructive, title: "Delete") { (action, view, completion) in
        self.delete(at: indexPath)
    }
    return action
}
Run Code Online (Sandbox Code Playgroud)

我曾经有一个拖尾滑动动作,但我完全删除了这个功能。当我将 'leadingSwipeActionsConfigurationForRowAt' 更改为 'trailingSwipeActions...' 时,仅显示尾随滑动操作。如果有人能告诉我我错过了什么,我将不胜感激。谢谢。 尾随滑动

领先的滑动

uitableview swift uiswipeactionsconfiguration

5
推荐指数
1
解决办法
844
查看次数

尾随滑动动作不解除

我在 UITableView 中配置了尾随滑动操作。操作正常工作,但当操作从表格中删除单元格时,滑动操作会保留在替换已删除行的行上。所以看起来新的当前行被刷了。

我认为滑动操作实际上可能会将他们的附件转移到那个新行,我不知道。

是否有一些我没有意识到我需要调用的解雇功能?

uitableview ios swift uiswipeactionsconfiguration

3
推荐指数
2
解决办法
1752
查看次数

TableViewCell 滑动操作中的图像

我有一个滑动操作来“完成”我的待办事项列表应用程序中的任务。这是我设置的图像:

在此处输入图片说明

但是,当滑动单元格时,图像如下所示:

滑动图像

有没有办法使背景透明/白色和图像具有如上图所示的绿色圆圈?

如果没有,有没有办法让绿色背景“包裹”到单元格的紫色,这样就没有空格了?谢谢!

uitableview ios swift uiswipeactionsconfiguration

2
推荐指数
2
解决办法
1358
查看次数

如何在取消时关闭滑动操作上下文菜单

我添加了滑动删除功能,使用

override func tableView(_ tableView: UITableView, 
        trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) 
         -> UISwipeActionsConfiguration?
Run Code Online (Sandbox Code Playgroud)

我正在通过解除/确认操作发出警报。一旦关闭,我想关闭滑动操作菜单。

    override func tableView(_ tableView: UITableView,
                            trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {

        let deleteClosure:UIContextualAction.Handler = {
            (action:UIContextualAction,
            view:UIView,
            completionHandler:(Bool) -> Void) in
            let alert = self.confirmDeletion({ _ in

                let row = indexPath.row;
                let removed = self.logList.remove(at: row);
                self.deleteLogEntry(removed);
                //
                tableView.reloadData();
                //

            }, declineBlock: {_ in
                tableView.reloadData();// this hides it but w/o animation
            });
            DispatchQueue.main.async {
                self.present(alert, animated: true, completion: nil);
            }
        }
        let deleteAction = UIContextualAction(style: .destructive, title: "Delete", …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift uiswipeactionsconfiguration

2
推荐指数
1
解决办法
1877
查看次数

为 UITableView 滑动操作设置自定义字体 (UIContextualAction)

你如何为 中的标题设置自定义字体UIContextualAction

我试过了,UIAppearance但没有任何运气......

干杯! :)

uitableview ios uitableviewrowaction uiswipeactionsconfiguration uicontextualaction

2
推荐指数
2
解决办法
2940
查看次数