我正在使用此链接(http://www.raywenderlich.com/18840/how-to-make-a-simple-drawing-app-with-uikit)来制作绘画应用程序,我也想执行撤消操作。
我使用此代码将用户创建的每个草图保存在一个可变的`array [completeLines]中。这些更改是在touchesEnded方法中完成的。
UIGraphicsBeginImageContextWithOptions(_tempDrawImage.bounds.size, NO,0.0);
[_tempDrawImage.image drawInRect:CGRectMake(0, 0, _tempDrawImage.frame.size.width, _tempDrawImage.frame.size.height)];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
[completeLines addObject:image];
现在我无法从主图像中删除存储在可变数组中的这些图像。
答案 0 :(得分:0)
所以,你可能已经到了一半了。 如果您保留了每个图像的数组,那么您只需要删除最后一个图像,清除主图像(绘制所有白色或其他图像),如果您的图像阵列不是不透明的,并将之前的图像绘制到主图像
你可以更漂亮,并将重做的图像作为重做选项暂时保留,直到完成新的绘图。只需保留一堆Redos,如果新绘图完成,请清除重做堆栈。