UIContextualAction 显示 UIMenu

UIContextualAction display UIMenu

我注意到在 Facebook Messenger 中,当有人按下 UIContextualAction 时,它们会显示 UIMenu

我可能遗漏了一些东西,但我不知道该怎么做。如果有人知道执行此操作的代码,我将不胜感激。

好吧,我不喜欢这种方法,但到目前为止,它对我很有效。我发现 可以访问 UIButton,然后您可以为其设置菜单。

func tableView(_ tableView: UITableView, willBeginEditingRowAt indexPath: IndexPath) {
    for subview in tableView.subviews {
        if NSStringFromClass(type(of: subview)) == "_UITableViewCellSwipeContainerView" {
            for swipeContainerSubview in subview.subviews {
                if NSStringFromClass(type(of: swipeContainerSubview)) == "UISwipeActionPullView" {
                    for case let button as UIButton in swipeContainerSubview.subviews {
                        var menuItems = [UIAction]()
                        menuItems.append(UIAction(title: "Test") { action in
                            print("Test")
                        })
                        button.showsMenuAsPrimaryAction = true
                        button.menu = UIMenu(title: "", children: menuItems)
                    }
                }
            }
        }
    }
}