ios - 将撤消管理器与 mac 催化剂一起使用

标签 ios swift macos uikit mac-catalyst

我正在努力将 mac 构建目标添加到 iOS 应用程序。我有基本的工作原理,想实现撤消/重做功能。

在传统的 AppKit 应用程序中,您可以免费获得它。当您创建一个新的应用程序时,预填充的主菜单下有编辑项和撤消和重做。 View Controller 有一个 undoManager,您只需在其上 registerUndo(最好还有 setActionName),一切正常。热键、菜单项标题更改和状态更改(在堆栈顶部禁用重做等)都开箱即用。

将催化剂构建目标添加到 iOS 项目还会创建一个默认菜单,其中包含顶级编辑菜单和撤消/重做菜单项。这些似乎没有采用内置功能。我真的需要手动重新创建 AppKit 免费的所有内容,还是我遗漏了什么?

最佳答案

您是在注册撤消事件的 View 上调用 becomeFirstResponder() 吗?这让我绊倒了一段时间。

我无法让操作名称显示在 Catalyst 编辑菜单中,但我确实看到撤消/重做堆栈从 UIKit 代码正常工作,而无需深入 AppKit。

关于ios - 将撤消管理器与 mac 催化剂一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60210126/

相关文章:

ios - 如何在 UITableView 中找到屏幕中心的哪一行/单元格?

iphone - 我在哪里可以获得有关 VOIP 应用程序的 iOS 文件处理程序的信息?

ios - 核心数据并从 AnyObject 类型制作 double ? swift

ios - 使用 Swift 将文本字段中的输入打印到 Xcode 中的标签

macos - 10.11 NSCollectionView : "could not load the nibName: NSCollectionViewItem in bundle NSBundle"

macos - NSSpeechSynthesizer 何时结束讲话?

ios - Swift 中的隐式成员表达式

ios - 如何在iBooks上打开文件

swift - 如何处理可选的 Realm 同步?

c++ - 在 OSX 上使用 C++ 的蓝牙 LE(扫描)?