ios - 用于多个 UIView 的 NSUndoManager - iOS

标签 ios objective-c uiview undo-redo nsundomanager

我的 ViewController 中有多个 UIViews。用户可以通过拖动来调整/移动 UIViews。我通过子类化 UIView 并使用触摸委托(delegate)实现了这一点。

不,我想实现 NSUndoManager 来撤消在任何 UIView 上发生的最后一个操作。如何做到这一点?

我对 NSUndoManager 还很陌生。我的问题同样是this ,但我不明白这个问题的答案。

请帮忙。谢谢。

最佳答案

您不需要多个撤消管理器。 View Controller 的 undoManager 属性就可以了。基本上,这个想法是:每当用户调整/移动您的一个 View 时,您计算相应的转换/移动来恢复此操作并将此信息添加到撤消管理器。然后,当用户执行 undo 操作时,旋转/调整大小将恢复。

以这个问题为例:NSUndoManager to undo UIImage rotation using rotation gesture

关于ios - 用于多个 UIView 的 NSUndoManager - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36045737/

相关文章:

objective-c - 方法是类方法还是实例方法

objective-c - 无法导入桥接头 swift Xcode 8.2.1

ios - 尝试在 Swift 中制作圆形 UIView 时出错

cocoa-touch - 如何让 CGAffineTransformMakeScale 围绕其中心缩小 View ?

iphone - 如何通过 iOS 上的套接字下载和发布二进制数据?

ios - APNS : is APNS certificate needed if Auth Key using?

ios - viewDidLoad 与调用 super viewDidLoad

ios - 如何从 ios 中的另一个 nib 文件访问变量

iphone - iPhone中的removeFromSuperView有什么用?

objective-c - Objective-C : How can I render Chinese fonts in OpenGL?