2017-01-10 3 views
0

私のアプリケーションにはメインメニューがあります。それはApp、Edit、View、Windowメニューを持っています。それがメインのNSViewControllerに必要なものです。Mac Cocoa App - 目的C - 異なるNSViewControllerの異なるメインメニュー

しかし、ユーザーが開くことができる別のNSViewControllerがあり、このNSViewControllerがアクティブな間にいくつかのメニュー項目を編集メニューに追加したいと思います。

これを達成するための標準は何ですか?

(注:私はグーグルでこれで検索しました、と私はすべての答えを見つけることができませんでした。)

+0

メインメニューにすべてのメニュー項目を置き、必要のないメニュー項目を無効または非表示にします。 – Willeke

+0

私はそれを試みましたが、私が開くウィンドウはモーダルであり、適切なアクションを実行しません。 –

+1

ユーザーエクスペリエンス(UX)の観点からは、ユーザーには直ちに明白ではない方法で非表示にする機能を持つことは、一般的には悪い考えです。私のアドバイスは、いつもメニューのすべてのメニュー項目を持って、あなたが特定の使い方のために必要でないメニュー項目を無効にすることです。 – Bob

答えて

0

あなたはこのような

  • としてNSMenuDelegateメソッドを使用することができます(無効)menuNeedsUpdate:(NSMenu *)メニュー;

この方法の内部では、特定の条件に基づいて特定の項目を追加/削除または有効/無効にすることができます。

関連する問題