1

私は1つのウィンドウを持っています。メインビューとして機能する複数のNSViewControllerをロードするドキュメントベースのアプリケーションです。各ビューコントローラは、特定のビジネスニーズを処理する自己完結型のクラスであり、作業に必要なすべてのメソッドを実装します。複数のNSViewControllerでツールバーを使用する

私の問題は、特定のビューコントローラが読み込まれたときにツールバーを動作させる方法です。私は、これらがウィンドウクラスで実装されている限り、ツールバーをデリゲートに配線したり、ツールバーのアイテムをアクションに配線するのに問題はありません。しかし、ビューのloadViewメソッドでツールバー項目の新しいアクションを設定しようとすると、ツールバー項目は単にそれを無視して、メインウィンドウクラスのメソッドを呼び出し続けます。

したがって、どのようにツールバー項目のアクションを動的に変更できますか?

+1

「ツールバーアイテムに新しいアクションを設定する」にはどのようなコードを使用していますか?あなたも目標を設定していますか?アクションレスポンダーチェーンのView Controllerはチェーンですか? –

答えて

1

ターゲットを設定していますか? ([foo setAction:]に加えて[foo setTarget:]

おそらくあなたのウィンドウコントローラには、ある種類のcurrentViewController ivar/propertyがありますか?ビューコントローラを切り替えるときにツールバーのアクションを再割り当てしないで、代わりにウィンドウコントローラを使用して、現在アクティブなビューコントローラにそれらを渡す方がよい場合があります。

関連する問題