我正在用Objective C構建一個iPhone應用程序。在我的應用程序中,我正在繪製圖像上的描邊,並且想要實現撤消和重做功能。我爲此已使用NSUndoManager
。有了這個功能,我可以在一個層次上撤銷我的繪圖,但是我的要求是在最低可能級別(或至少最低10級)撤消繪圖。我已經將setLevelsOfUndo
設置爲10,但它不起作用。NSUndoManager沒有爲UnDo /重做圖形的iPhone應用程序保留重做/撤消堆棧
我用下面的代碼:
- (void)UnDoImage1:(UIImage*)image
{
if (capturedImage.image != image)
{
[self.managedObjectContext.undoManager undo];
[[self.managedObjectContext.undoManager prepareWithInvocationTarget:self] UnDoImage1:capturedImage.image];
[capturedImage release];
capturedImage.image = [image retain];
}
}
請讓我知道我在哪裏不正確。我已經爲此長期使用了Google,但沒有找到功能失敗的確切原因。