私は非常にシンプルなCocoaプログラムを持っています。 1つのウィンドウで、その内部にNSTextViewがあります。この構成では、NSTextViewは期待通りに動作します。私は入力、元に戻す、やり直し、すべてを行うことができます。NSTextViewをサブクラス化すると、ココアで取り消しが不可能になる
しかし、NSTextViewをサブクラス化してTextViewを呼び出すことができます。この新しいクラスは、どのメソッドもオーバーライドしません。基本的に空のサブクラスです。私はNSTextViewを新しいサブクラスに置き換えます。 TextViewにテキストを入力することはできますが、元に戻すことはできません。それは私にビープ音です。取り消しメニュー項目はグレー表示されます。 TextViewはオブジェクト継承構造に新しいコードを追加しないので、これが起こるとは思わないでしょう。
元に戻すには、TextViewをどうすればよいですか?
XIB object hierarchy, "Text View" is my "TextView" class
編集:モハマドFarhandが意見を述べたとして、さらに観察すると、確かに、問題の原因となった、私のサブクラスで編集がありました。
正確にどのように「それの私の新しいサブクラスでNSTextViewを置き換える」しましたか?オブジェクトを削除して新しいオブジェクトを追加しましたか、アイデンティティインスペクタでテキストビューのクラスを変更しましたか? –
アイデンティティ・インスペクタのクラス名を変更しました –
私はこれを試しました。テキストビューを置き換えたときに、スクロールビューを置き換えていないことを確認してください。なぜそれがあなたのために働かなかったのか分かりません。おそらく、GitHubでこの非動作コードのバージョンをホストしてください。 – rein