2017-07-04 3 views
0

イメージにエフェクトを追加できるiOSアプリケーションを作成しています。そのエフェクトを適用すると、現在のエフェクトを保存する1つのdoneボタンがあり、ユーザーは既に適用されているエフェクトに次のエフェクトを追加できるため、他のエフェクトに多くのエフェクトを適用できます。 Doneボタンを押さないとエフェクトの切り替えが行われますが、「完了」ボタンを押すとエフェクトをかけることができます。今私はUndo & Redoと名付けられた2つの追加ボタンを持っています。ユーザーがdoneボタンをクリックすると、適用されたすべてのエフェクトがarrayに保存されます。イメージを含むNSMutableArrayでNSUndoManagerを実行する方法(目的 - C)

undoボタンをクリックすると、適用された効果を元に戻したいと思います。また、redoボタンをクリックすると、操作をやり直すことができます。

私はNSUndoManagerを使用しましたが、私はどこから始めるべきか分かりません。使用方法がわからないことを意味します。NSUndoManager ImagesにはArrayが含まれていますか?

+0

は、リンクを介してアクセスしてください:http://szulctomasz.com/2015/09/13/ios-undo-and-redo-with-nsundomanager.html –

+0

@AshokLondhe私はすでに、この1を参照してきましたが、その私は迅速にそれに精通していないので、迅速に精通していない。お元気です。 –

答えて

0

さて、私は別の方法でこれをやった! 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; 
      } 
     } 
    }} 
関連する問題