2

いくつかのポップアップウィンドウ、NSMenu、および設定などのためのいくつかの通常のウィンドウを備えたMenuBar-Applicationを作成しています。NSControllerを作成して、StatusBarのすべてのものをまとめ、ポップアップに開いたり閉じたりするように通知しました。ポップアップには独自のPopupWindowControllerとxibファイルがあり、チャームのように機能します。しかし、NSMenuで動作させることができません(私の場合はRightClickMenuとしてサブクラス化されています)

IBでは、メニューを使用してStatusBarController.xib(StatusBarControllerをファイルの所有者として)と呼ばれる別の.xibを作成し、それをアウトレットにリンクしました。..。

@class RightClickMenu;
@interface StatusBarController : NSController <NSMenuDelegate> {
    IBOutlet RightClickMenu *rightClickMenu;
}
@property (nonatomic, retain) RightClickMenu *rightClickMenu;
...

私のAppDelegateには、IBOutlet StatusBarControllerプロパティと、NScontrollerオブジェクトにリンクされているメインの.xibがあります。

@class StatusBarController;
@interface MyAppDelegate : NSObject <NSApplicationDelegate> {
    IBOutlet StatusBarController *statusBarController;
...

あなたが助けることができることを願っています...

乾杯

4

1 に答える 1

1

あなたの変数!はアウトレットですが、あなたの財産はそうではありません

IB は KVC を使用してアウトレットを設定し、_variable を使用するプロパティを見つけます


念のため:

NSViewController をサブクラス化する場合を除いて、ロードを自分で処理する必要があります

コントローラの init で [[NSBundle mainBundle] loadNibName:@"bla" owner:self]; を実行します。

于 2012-11-11T20:57:26.503 に答える