1

a を非表示にしようとしましたNSMenuItemが、メソッドが機能しません。MyNSMenuItemは nil ではありません ( -setTitle-setEnabled期待どおりに動作します)。コンセントは IB に正しく接続され-setAutoEnableItem、NO に設定されています。

でも[item setHidden:YES];何も変わらない。NSMenuItem を非表示にする方法を知っていますか?

アイテムを削除して再度追加することは、私にとって選択肢ではありません。

4

1 に答える 1

2

NSMenuItem非表示の問題は代替アイテムによるものです。アイテムに代替アイテムまたはアイテムがある場合、非表示にすることはできません。しかし、次のように解決できます。

たとえば、代替アイテムitemAlt2およびitemCtrl2でitem2を非表示にするとします。したがって、itemAlt2itemCtrl2を交互にしないで、次のように非表示にします。

[itemAlt2 setAlternate: NO];
[itemAlt2 setHidden: YES];
[itemCtrl2 setAlternate: NO];
[itemCtrl2 setHidden: YES];
[item2 setHidden: YES];

そして、目に見えるitem2が必要な場合は、次のように交互に表示するだけです。

[itemAlt2 setAlternate: YES];
[itemAlt2 setHidden: NO];
[itemCtrl2 setAlternate: YES];
[itemCtrl2 setHidden: NO];
[item2 setHidden: NO];
于 2012-07-15T20:12:37.307 に答える