1

メインビューとして機能する複数の NSViewControllers をロードする単一ウィンドウのドキュメントベースのアプリケーションがあります。各ビュー コントローラーは、特定のビジネス ニーズを処理する自己完結型のクラスであり、動作に必要なすべてのメソッドを実装します。

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

では、ツールバー項目のアクションを動的に変更するにはどうすればよいでしょうか?

4

1 に答える 1

1

あなたも目標を設定していますか?(つまり[foo setTarget:]、に加えて[foo setAction:])

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

于 2011-06-27T01:41:00.407 に答える