如何在包含图像的 NSMutableArray 上执行 NSUndoManager?(目标 - C)



我正在创建一个iOS应用程序,用户可以在其中为图像添加效果。应用该效果后,我有一个done按钮,可以保存当前效果,并允许用户在已应用的效果上添加下一个效果,因此用户可以在其他效果上应用更多效果。如果用户不按Done按钮,那么他在效果之间切换,但使用"完成"按钮,他可以在效果上应用效果(希望你明白!现在我有两个额外的按钮,名为UndoRedo。当用户单击done按钮时,我将所有应用的效果保存在array中。

现在我想在单击按钮时撤消应用的效果undo。反之亦然,单击按钮时redo重做操作。

我知道为此目的我必须使用NSUndoManager但我不知道我应该从哪里开始意味着我不知道如何将NSUndoManager与包含图像的数组一起使用?

好吧,我用不同的方式做到了这一点!! 除了使用NSUndoManager之外,我刚刚使用了 2Arrays并用它们完成了代码。

- (IBAction)onUndoClicked:(id)sender {    
if ([arrUndo lastObject] == nil) {
NSLog(@"EMPTY");
}
else
{
[arrRedo addObject:[arrUndo lastObject]];
NSLog(@"ArrAdd %@", [arrUndo description]);
[arrUndo removeLastObject];
for (UIImage *obj in arrUndo) {
if ([arrUndo lastObject] == obj) {
_imgClicked.image =  obj;
}
}
}}
- (IBAction)onRedoClicked:(id)sender {
if ([arrRedo lastObject] == nil) {
NSLog(@"EMPTY");
}
else
{
[arrEffectImages addObject:[arrRedo lastObject]];
for (UIImage *obj in arrRedo) {
if ([arrRedo lastObject] == obj) {
_imgClicked.image =  obj;
}
}
}}

相关内容

  • 没有找到相关文章

最新更新