Я рисую поверх изображения с помощью UIGraphics.Я реализую NSUndoManager и хочу отменить в обратной последовательности, пока я рисую, но отмена удаляет все чертежи.
В моем методе рисования я регистрируюсь с этой строкой
[[undoObject prepareWithInvocationTarget:self] performUndoWithObject:context withLastpoint:to andFirstPoint:from];
, и этот метод запускается при отмене
-(void)performUndoWithObject:(CGContextRef )context withLastpoint:(CGPoint)previousLastPoint andFirstPoint:(CGPoint)previousFirstPoint
{
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextMoveToPoint(context, previousFirstPoint.x, previousFirstPoint.y);
CGContextAddLineToPoint(context, previousLastPoint.x, previousLastPoint.y);
CGContextStrokePath(context);
_drawingView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
-(void)undoButtonClicked
{
if([undoObject canUndo])
{
[undoObject undo];
}
}