2016-03-16 1 views
0

Mon ViewController contient plusieurs UIViews. L'utilisateur peut redimensionner/déplacer le UIViews en les faisant glisser. J'ai implémenté ceci en sous-classant UIView et utilisant des délégués de contact.NSUndoManager pour plusieurs UIViews - iOS

Non Je souhaite implémenter NSUndoManager pour annuler la dernière opération survenue sur UIView. Comment faire ça? Je suis assez nouveau pour NSUndoManager. Mon problème est le même: this, mais je ne comprends pas la réponse à cette question.

S'il vous plaît aider. Merci.

+0

avez-vous résolu votre problème? –

Répondre

1

Vous n'avez pas besoin de plusieurs gestionnaires d'annulation. La propriété undoManager de votre contrôleur de vue fera l'affaire. Fondamentalement, l'idée est la suivante: chaque fois qu'un utilisateur redimensionne/déplace une de vos vues, vous calculez la transformation/le mouvement correspondant qui annulera cette action et ajouterez cette information au gestionnaire d'annulation. Ensuite, lorsqu'un utilisateur exécute une action undo, la rotation/redimensionnement est inversée.

Jetez un oeil à cette question un exemple: NSUndoManager to undo UIImage rotation using rotation gesture