ユーザーがUIViewを上下に移動して、あるビューを別のビューの上に配置できるようにするアプリケーションがあります。UIViewの「レベル」(親のサブビューのインデックス)を変更するのは、 exchangeSubviewAtIndexメソッドを使用してスーパービューのUIViewのインデックスを変更することで非常に簡単です。
/---------/
IDX 1 / A /
/---------/
/---------/
IDX 0 / B /
/---------/
Move 'A' Down
/---------/
IDX 1 / B /
/---------/
/---------/
IDX 0 / A /
/---------/
現在、NSUndoManagerを使用して変更を記録しているので、ユーザーは下に移動するアクションを元に戻すことができます。これは正常に機能しています。NSUndoManagerでREDOメッセージを実行しようとすると、問題が発生します。移動されていたUIViewには(親のビュー内の位置であるため)「ZIndex」の状態がないため、REDOは何もしません。
REDOのREDO呼び出しを明示的に渡す方法はありますか?