nsundomanager相关内容

删除 WebView 的 NSUndoManager 的撤消操作

我有几个 WebView,可以在我的视图层次结构中换入和换出.其中一些 WebView 包含表单字段,因此我实现了 EditingDelegate 来为我的文档提供 NSUndoManager. 问题是在 WebView 中完成的任何输入都会生成放置在撤消堆栈上的操作.从层次结构中删除视图后,操作仍在撤消堆栈中.此时,如果用户使用 Cmd-Z 来“撤消键入",则会引发异常,因为 -undoE ..
发布时间:2021-11-16 20:30:10 其他开发

使用NSUndoManager从异步撤消注册重做操作

使用UndoManager.registerUndo(withTarget:selector:object :)我可以注册一个撤消操作,并且在提供的选择器中调用此相同方法再次导致重做操作的注册.除非在选择器中我调用一个异步函数,然后需要注册重做操作,如下所示,否则此方法工作正常: func job(){做一点事()registerUndo(self,undo)}func undo(){异步{d ..
发布时间:2021-04-22 20:19:23 其他开发

Swift中基于调用的撤消管理器

我在采用更复杂的基于调用的方法来在Swift中撤消注册时遇到了麻烦(基于NSHipster文章此处.Apple的文档在Objective-C中仍然具有所有示例代码,并且调用设置的语义也有很大不同). 我的NSDocument子类Document具有对模型对象进行操作的以下方法,我希望使其成为可撤消的: func rename(object: Any, to newName: Strin ..
发布时间:2020-07-01 21:59:29 移动开发

撤消在视图控制器中所做的所有更改

是否可以撤消在视图控制器中所做的所有更改而不会影响在其父视图控制器中所做的更改?顺便提一句.它们具有相同的managedObjectContext. ps.我有两个实体A和B.A与B有很多关系.视图控制器VCA用于在A中执行某些更改.视图控制器VCB用于在B中执行某些更改.VCA是VCB的父视图控制器. 解决方案 无需创建新的上下文.离开子视图控制器时,您可以选择以下任一选项: [m ..

NSUndoManager:捕获引用类型可能吗?

当值是引用类型时,我很难理解NSUndoManager如何捕获值.每当尝试使用undoManager时,这些值都不会撤消. 注意:我需要支持macOS 10.10,并且我正在使用Swift 3和XCode 8 在这里,我保存ID号的状态,将它们全部重置为-1,然后尝试撤消.结果是它们都仍然为-1. import Cocoa class Person: NSObject { ..
发布时间:2020-07-01 21:58:18 移动开发

删除WebView的NSUndoManager的撤消操作

我有几个WebView,它们可以在视图层次结构中切入和切出.其中一些WebView包含表单字段,因此我实现了editDelegate来为我的文档提供NSUndoManager. 问题在于,在WebView中进行的任何键入都会生成放置在撤消堆栈上的操作.从层次结构中删除视图后,操作仍在撤消堆栈中.此时,如果用户使用Cmd-Z进行“撤消键入",则会引发异常,因为-undoEditing:被发送到 ..
发布时间:2020-07-01 21:58:06 其他开发

如何在Swift中注册UndoManager?

如何在Swift中使用UndoManager(以前是NSUndoManager)? 这是我尝试复制的一个Objective-C示例: [[undoManager prepareWithInvocationTarget:self] myArgumentlessMethod]; 但是,Swift似乎没有NSInvocation,这(似乎)意味着我无法在未实现的undoManager上调 ..
发布时间:2020-07-01 21:56:51 移动开发

可可:寻找一种用于NSTextView存储的程序化操作的一般策略,而不会弄乱撤消

我正在用可可编写一种专用的文本编辑器,它可以执行自动文本替换,内联文本完成(ala Xcode )等操作. 我需要能够以编程方式操作NSTextView的NSTextStorage,以响应1)用户键入,2)用户粘贴,3)用户删除文本. 我尝试了两种不同的通用方法,它们都导致NSTextView的本机撤消管理器以不同的方式不同步.在每种情况下,我仅使用NSTextView委托方法.我一直 ..
发布时间:2020-05-19 01:15:35 移动开发

使NSUndoManager忽略NSManagedObject的属性

我的应用程序的主要功能是在图形上排列对象.整个过程都是基于核心数据,并且图中的每个对象都由一个实体表示.对于此示例,该实体将是“单元",这是NSManagedObject的自定义子类. 打开绘图时,每个Unit都会创建一个UnitViewController,该KView会观察到Unit属性的更改,例如.positionX,.positionY和.angle. UnitViewControl ..

带有CoreData的嵌套撤消组

我想在coredata支持的iphone应用程序中添加撤消管理器。当用户尝试添加新对象时(通过点击+按钮),我加载一个新的模态视图控制器并在viewDidLoad中启动一个新的撤消组。 当用户按下时取消按钮,我想回滚cancelAction回调中的更改。 查询: 是否可以启动嵌套的撤消组并通过事件循环将其保留并整理在一个撤消组中完成的所有更改?现在,当我在cancelAction ..
发布时间:2018-11-01 13:29:24 移动开发

使用UITextView(iOS / iPHone)撤消/重做

我有一个视图,其中UITextView始终具有焦点。我想要做的是扩展内置的撤消/重做行为,以便在我以编程方式设置文本时支持撤消/重做(例如,当我清除它时,通过将其设置为@“”)。 由于只有firstResponder获取了undo / redo事件,我以为我只是使用UITextView的undoManager属性来创建我的调用。例如, //在清除文本之前... [[self.myT ..
发布时间:2018-10-25 17:04:01 移动开发

UITextView撤消管理器不适用于替换属性字符串(iOS 6)

iOS 6已经更新为使用UITextView进行富文本编辑(UITextView现在可以获得一个属性非文本的属性 - 这是非常可变的 - )。这是在NDA上的iOS 6 Apple论坛上提出的一个问题,可以公开,因为iOS 6现已公开... 在UITextView中,我可以撤消任何字体更改但无法撤消视图的属性字符串副本中的替换。使用此代码时... - (void)replace:( ..
发布时间:2018-09-24 11:05:46 IPhone

实现NSUndoManager

我很难实现NSUndoManager,我尝试阅读它上面的苹果文档,但我无法弄明白。这是我到目前为止所尝试的。我创建了一个通过连接数组中的两个点绘制线条的应用程序,我通过删除最后一个对象实现了一个撤消方法,但是无法弄清楚如何实现重做,我偶然发现了NSUndoManager并开始阅读其文档,但我不这样做知道如何将它应用到我的问题。这是我目前的代码 - (void)touchesBegan:( ..
发布时间:2018-09-19 14:54:02 移动开发

" [NSBigMutableString substringWithRange:]:范围{0,10}越界;字符串长度9“撤消错误

当我尝试在 UISearchBar 上执行撤消操作时,我的应用崩溃了。在我的应用程序中,我有代码阻止在搜索栏上输入'%'符号,为此,它将textDidChange方法中的%替换为@“”,如下所示: - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { self.search ..
发布时间:2018-09-06 11:21:28 移动开发