我已经从存储在模型对象的属性串获得其内容的文本图。我列出几个这些模型对象中的抽屉,并且当用户点击一个文本视图交换其内容。

我现在还需要交换撤消管理文本视图。我初始化的撤消管理我的模型对象,并使用undoManagerForTextView将其返回到文本视图的事,但不完全正确。

战略地位记录语句告诉我,一切都正如预期的工作:在启动一个新的模型对象已正确初始化和一个非空撤消管理总是由文本视图拉动。但是,当涉及到实际做撤消,我不能得到我想要的行为。

我打开一个窗口,类型的东西,然后按CMD + z和撤消作品。 我打开一个窗口,键入内容,选择在桌子上,输入一些新的模式,回到第一个模型,并尝试撤消和我得到的是一个蜂鸣声。

东西上文件由我提出一个眉毛,因为这意味着我不能有几个模型对象撤消:

  

默认撤消和恢复行为   适用于文本字段和文本   只要场或细胞是细胞   第一反应者(即,   键盘动作的焦点)。一旦   插入点离开现场或   细胞,事先操作不能   撤消。

有帮助吗?

解决方案

您可能要继承NSUndoManager和覆盖removeAllActionsWithTarget:removeAllActions,至少要记录他们,可能是为了让他们无操作。

不要忘记实例子类,而不是原来的NSUndoManager的。 (很容易忘记,有些读者可能没有意识到,他们需要做到这一点。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top