如何在包含图像的NSMutableArray上执行NSUndoManager?(Objective-C)
问题描述:
我正在创建一个iOS应用程序,用户可以在其中为图像添加效果。应用该效果后,我有一个done
按钮,它可以保存当前效果并允许用户在已应用效果上添加下一个效果,因此用户可以对其他效果应用更多效果。如果用户不按Done
按钮,然后他在效果之间切换,但用“完成”按钮,他可以对效果施加效果(希望你明白!)。现在我有两个额外的按钮名为Undo
& Redo
。当用户点击done
按钮时,我将所有应用效果保存在array
中。如何在包含图像的NSMutableArray上执行NSUndoManager?(Objective-C)
现在我想撤消应用效果,当点击undo
按钮。当点击redo
按钮时,反之亦然重做操作。我不知道如何使用NSUndoManager
与包含图像的数组?
答
那么,我已经通过不同的方式做到了这一点!除了使用NSUndoManager
我刚刚使用了2 Arrays
并且用它们完成了代码。
- (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;
}
}
}}
请通过链接:http://szulctomasz.com/2015/09/13/ios-undo-and-redo-with-nsundomanager.html –
@AshokLondhe我已经提到这一个,但其在迅速,我不太熟悉迅速,所以没有从这个想法。 thanx寻求帮助。 –