我正在创建一个带有几个弹出窗口,一个NSMenu以及一些常规窗口的MenuBar-Application,用于进行设置和类似的操作。
我创建了一个NSController,将所有StatusBar内容保存在一起,并通知弹出窗口打开和关闭。
弹出窗口拥有自己的PopupWindowController,并且xib文件的工作方式就像一个超级按钮。但是我无法使其与NSMenu一起使用(在我的情况下,它被子类化为RightClickMenu)
在IB中,我使用菜单创建了另一个名为StatusBarController.xib的.xib(以StatusBarController作为文件的所有者)并将其链接到出口。
...
@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;
...
希望你能帮...
干杯
最佳答案
您的变量!是出口,但您的财产不是
IB使用KVC设置出口,这将找到将使用_variable的财产
顺便说一句,以防万一:
如果要子类化NSViewController,则必须自己处理加载
在控制器的初始化中,您需要执行[[NSBundle mainBundle] loadNibName:@“ bla” owner:self];