nsundomanager相关内容
我有几个 WebView,可以在我的视图层次结构中换入和换出.其中一些 WebView 包含表单字段,因此我实现了 EditingDelegate 来为我的文档提供 NSUndoManager. 问题是在 WebView 中完成的任何输入都会生成放置在撤消堆栈上的操作.从层次结构中删除视图后,操作仍在撤消堆栈中.此时,如果用户使用 Cmd-Z 来“撤消键入",则会引发异常,因为 -undoE
..
使用UndoManager.registerUndo(withTarget:selector:object :)我可以注册一个撤消操作,并且在提供的选择器中调用此相同方法再次导致重做操作的注册.除非在选择器中我调用一个异步函数,然后需要注册重做操作,如下所示,否则此方法工作正常: func job(){做一点事()registerUndo(self,undo)}func undo(){异步{d
..
我在采用更复杂的基于调用的方法来在Swift中撤消注册时遇到了麻烦(基于NSHipster文章此处.Apple的文档在Objective-C中仍然具有所有示例代码,并且调用设置的语义也有很大不同). 我的NSDocument子类Document具有对模型对象进行操作的以下方法,我希望使其成为可撤消的: func rename(object: Any, to newName: Strin
..
是否可以撤消在视图控制器中所做的所有更改而不会影响在其父视图控制器中所做的更改?顺便提一句.它们具有相同的managedObjectContext. ps.我有两个实体A和B.A与B有很多关系.视图控制器VCA用于在A中执行某些更改.视图控制器VCB用于在B中执行某些更改.VCA是VCB的父视图控制器. 解决方案 无需创建新的上下文.离开子视图控制器时,您可以选择以下任一选项: [m
..
当值是引用类型时,我很难理解NSUndoManager如何捕获值.每当尝试使用undoManager时,这些值都不会撤消. 注意:我需要支持macOS 10.10,并且我正在使用Swift 3和XCode 8 在这里,我保存ID号的状态,将它们全部重置为-1,然后尝试撤消.结果是它们都仍然为-1. import Cocoa class Person: NSObject {
..
我正在尝试在程序中添加NSUndoManager,但是我不确定如何在管理器中注册方法?使用: [myUndoManager registerUndoWithTarget:selector:object:]; 如果我有以下方法怎么办? -(IBAction)tapButton:(id)sender { myFoo++; yourFoo++; //increm
..
我有几个WebView,它们可以在视图层次结构中切入和切出.其中一些WebView包含表单字段,因此我实现了editDelegate来为我的文档提供NSUndoManager. 问题在于,在WebView中进行的任何键入都会生成放置在撤消堆栈上的操作.从层次结构中删除视图后,操作仍在撤消堆栈中.此时,如果用户使用Cmd-Z进行“撤消键入",则会引发异常,因为-undoEditing:被发送到
..
我正在尝试使用EnableGUI 功能. % ghci -framework Carbon Main.hs *Main> enableGUI >> main 这是我得到的,而不是正在运行的程序: 2013-01-14 00:21:03.021 ghc[13403:1303] *** Assertion failure in +[NSUndoManager _endTopLevel
..
我正在尝试使用Swift闭包来使用NSLayoutManager.我可以成功注册undo,如下所示: doThing(); undoManager?.registerUndoWithTarget(self, handler: { _ in undoThing(); } undoManager?.setActionName("do thing") 我当然需要支持redo,这相当于撤
..
我正在将Xcode 7/Swift 2.2 mac OS X项目迁移到Xcode 8/Swift 3,并且在视图控制器类MyViewController中使用undoManager遇到了问题,该类具有撤消功能. 在Xcode 7/Swift 2.2中,此方法运行良好: undoManager?.prepareWithInvocationTarget(self).undo(data, m
..
在我们的应用程序中,我们使用以下代码: let lInvocationTarget = lUndoManager.prepare(withInvocationTarget: self) let _ = (lInvocationTarget as! MyObjectType).myMethod(_: self.opacity, undoManager: lUndoManager) 它可以编
..
如何在Swift中使用UndoManager(以前是NSUndoManager)? 这是我尝试复制的一个Objective-C示例: [[undoManager prepareWithInvocationTarget:self] myArgumentlessMethod]; 但是,Swift似乎没有NSInvocation,这(似乎)意味着我无法在未实现的undoManager上调
..
我正在用可可编写一种专用的文本编辑器,它可以执行自动文本替换,内联文本完成(ala Xcode )等操作. 我需要能够以编程方式操作NSTextView的NSTextStorage,以响应1)用户键入,2)用户粘贴,3)用户删除文本. 我尝试了两种不同的通用方法,它们都导致NSTextView的本机撤消管理器以不同的方式不同步.在每种情况下,我仅使用NSTextView委托方法.我一直
..
我的应用程序的主要功能是在图形上排列对象.整个过程都是基于核心数据,并且图中的每个对象都由一个实体表示.对于此示例,该实体将是“单元",这是NSManagedObject的自定义子类. 打开绘图时,每个Unit都会创建一个UnitViewController,该KView会观察到Unit属性的更改,例如.positionX,.positionY和.angle. UnitViewControl
..
我想在coredata支持的iphone应用程序中添加撤消管理器。当用户尝试添加新对象时(通过点击+按钮),我加载一个新的模态视图控制器并在viewDidLoad中启动一个新的撤消组。 当用户按下时取消按钮,我想回滚cancelAction回调中的更改。 查询: 是否可以启动嵌套的撤消组并通过事件循环将其保留并整理在一个撤消组中完成的所有更改?现在,当我在cancelAction
..
我希望能够以编程方式替换UITextView中的某些文本,因此我将此方法编写为UITextView类别: - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)newText { self.scrollEnabled = NO; NSMutableString * textStorage
..
我有一个视图,其中UITextView始终具有焦点。我想要做的是扩展内置的撤消/重做行为,以便在我以编程方式设置文本时支持撤消/重做(例如,当我清除它时,通过将其设置为@“”)。 由于只有firstResponder获取了undo / redo事件,我以为我只是使用UITextView的undoManager属性来创建我的调用。例如, //在清除文本之前... [[self.myT
..
iOS 6已经更新为使用UITextView进行富文本编辑(UITextView现在可以获得一个属性非文本的属性 - 这是非常可变的 - )。这是在NDA上的iOS 6 Apple论坛上提出的一个问题,可以公开,因为iOS 6现已公开... 在UITextView中,我可以撤消任何字体更改但无法撤消视图的属性字符串副本中的替换。使用此代码时... - (void)replace:(
..
我很难实现NSUndoManager,我尝试阅读它上面的苹果文档,但我无法弄明白。这是我到目前为止所尝试的。我创建了一个通过连接数组中的两个点绘制线条的应用程序,我通过删除最后一个对象实现了一个撤消方法,但是无法弄清楚如何实现重做,我偶然发现了NSUndoManager并开始阅读其文档,但我不这样做知道如何将它应用到我的问题。这是我目前的代码 - (void)touchesBegan:(
..
当我尝试在 UISearchBar 上执行撤消操作时,我的应用崩溃了。在我的应用程序中,我有代码阻止在搜索栏上输入'%'符号,为此,它将textDidChange方法中的%替换为@“”,如下所示: - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { self.search
..