目标C

时间:2018-09-03 15:04:26

标签: ios objective-c nsundomanager

我有一个功能不错的撤消功能。我的应用程序是具有多种效果的照片编辑器。当我向照片添加多种效果并撤消所有这种效果时,当我想再次添加滤镜/效果并且我想再次撤消它不起作用时,它的效果很好。我的意思是我的撤消功能只能运行一次。

有人可以告诉我为什么它只能运行一次吗?

有我的工作人员:


    - (void)updateImage:(UIImage*)Images {

        [undoManager registerUndoWithTarget:self selector:@selector(updateImage:) object:Images];

        _imageView.image = Images;

    }

    - (void)pushedUndoBtn:(id)sender
    {
       [undoManager undo];
    }

这是我引用撤消管理器的方式:


    @implementation _CLImageEditorViewController
    {

        NSUndoManager * undoManager;

    } 

    - (void)viewDidLoad
    {
        [super viewDidLoad];

        undoManager = [[NSUndoManager alloc] init];

    }

1 个答案:

答案 0 :(得分:0)

您应该将旧图像(CREATE VIEW total_club_points_pivoted AS select * from ( select YEAR, COUNTRY, POINTS from total_points ) src pivot ( POINTS for COUNTRY in (['UK'], ['ITALY']) ) piv; )传递给_imageView.image,而不是新图像(-registerUndoWithTarget:selector:object:)。您希望撤消操作对旧映像调用Images以恢复旧状态。所以:

-updateImage: