iOS - UITextView + NSUndoManager

8

Ich versuche, die Undo / Redo-Funktionen in einem UITextView zu integrieren (ich baue einen LateX-Editor), ohne Glück, und um ehrlich zu sein, bin ich wirklich verwirrt über dieses Argument. Ich verstehe die Schritte, die mit diesen beiden Operationen verbunden sind, nicht. Ich meine, ich brauche zwei Methoden.

  • eine, um den zuletzt eingefügten Text zu entfernen
  • eine, um den entfernten Text wiederherzustellen

Ein Zweifel ist, wo ich den zuletzt eingefügten Text bekomme? Mit anderen Worten, wo muss ich mich für das Undo registrieren?

  • in textViewDidChange kann ich den ganzen Text
  • bekommen
  • in textViewShouldChangeTextInRange Ich kann das letzte Zeichen einfügen

Ich weiß, dass das, was ich geschrieben habe, nicht die beste Erklärung war, aber ich hoffe, dass jemand hier in der Vergangenheit mit dem gleichen Problem konfrontiert wurde und mir einen Hinweis geben kann. Um fortzufahren, muss ich die Funktionen Rückgängig / Wiederholen zu einer Textansicht hinzufügen, möglicherweise mit zwei Schaltflächen, die mit diesen Aktionen verknüpft sind.

Vielen Dank im Voraus

    
elio.d 22.02.2011, 14:38
quelle

1 Antwort

22

Ich fühle mich jetzt wie ein Idiot :( Die Lösung war wirklich sehr einfach ... Die textView hat bereits einen UndoManager, also sind im Grunde die Schritte, die Aktionen für eine textView rückgängig machen / wiederholen müssen: InnenansichtDidload:

%Vor%

wo Sie die Aktionen ausführen möchten

%Vor%

Ich bin manchmal wirklich dumm, ich habe fast meinen eigenen Undo-Code geschrieben ... Ich hoffe, das kann jemandem helfen

    
elio.d 25.02.2011, 07:59
quelle