在 iPad 应用程序中的 Mac 上使用鼠标滑动删除不起作用

Swipe-to-delete does not work using mouse on Mac in iPad app

提问人:PDG 提问时间:9/27/2021 最后编辑:HangarRashPDG 更新时间:7/19/2023 访问量:187

问:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
        if (![self.info rightGranted:self.user_app_id :4 :self.rights_list])
        {
            [General showAlert:NSLocalizedString(@"no_delete_rights", @"") :NSLocalizedString(@"do_not_have_delete_rights", @"") :NSLocalizedString(@"ok", @"") :self];
            [self.tableView reloadData];
            return;
        }
        
        [General promptAbandonChanges:self :NSSelectorFromString(@"deleteUserConfirm2:") :NSLocalizedString(@"confirm_delete_user", @"") :NSLocalizedString(@"delete_user_alert", @"") :self :(NSObject *)indexPath];
    }
}

在我的 Mac 上使用外接鼠标模拟轻扫手势时,为“我的 Mac”(专为 iPad 设计)创建的 iOS App 不会调用此委托函数。

有人想通了吗?滑动手势几乎可以与鼠标一起使用,但不能滑动删除。有没有更首选的委托函数?

iOS Objective-C macOS iPad

评论

0赞 esqew 9/27/2021
我觉得这可能是设计使然 - 在触控板的日常使用中,还有更多的例子,您可能会滑动某个方向来移动光标,这会无意中触发此手势,而在移动设备上,滑动手势确实不太常见,否则可以与触摸开始和结束的位置进行上下文化,以最终更准确地确定用户的意图在非移动环境中。
0赞 PDG 9/28/2021
我向反馈助手报告了此问题。在 Objective C 或 Swift 中不调用委托方法。
0赞 pkamb 9/28/2021
这回答了你的问题吗?Mac Catalyst 滑动删除在 Mac 上不起作用
0赞 PDG 9/29/2021
不,不是 Mac Catalyst。不确定它是否有名称,但它是在 Mac 上的 iPad 窗口中运行的 iOS。
0赞 benc 7/19/2023
编辑队列已满,但这是“专为 iPad|iPhone 设计”(在 Apple Silicon 上运行),而不是 Mac Catlyst,对吧?ask-er 可以直接编辑吗?

答:

1赞 benc 7/19/2023 #1

我认为这应该有效......但我没有你所做的确切设置。

我有一个已发布的 iOS SDK 应用程序,它正在我的 M1 上运行,并且滑动可以工作。

以下是详细信息,以防差异非常小:

  1. 仅限 iPhone(非通用,因此以“专为 iPhone 设计”的形式运行)

  2. 用 SWIFT 编写。

  3. 删除处理程序利用设置,没有自定义它的功能。

  4. 相比之下,我确实实现了现代向左滑动处理程序,它也可以工作。

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

我有两个值得关注的领域:

  1. 如果使用,请使用已弃用的旧(仅向右滑动)方法。
  2. 表视图行为似乎存在于 AppKit 中。我正在研究在 AppKit 中崩溃的其他表功能,这些功能可能正在使用 OR 在顶部填充(?NSTables