AppDelegate 中主 NSWindow 的引用出口 (OSX)
Reference outlet to main NSWindow in AppDelegate (OSX)
当您创建一个新项目时,我似乎记得您可以使用 AppDelegate
方法中的 self.window
访问故事板中创建的基本空白 window。
我似乎也无法通过故事板为 AppDelegate.h
文件设置参考出口。我只是幻觉还是无法从 AppDelegate
访问 window/controller?
我是否混淆了 iOS 和 OSX 做法?
对我有用。
我在 AppDelegate.h
中添加了一个 IBOutlet
@property (nonatomic) IBOutlet NSWindow *window;
然后在您的 Interface Builder 中(对我来说 MainMenu.xib)select App Delegate:
您的 IBOutlet 应该在 Connection inspector
右边:
也许您的 .xib 和 AppDelegate 之间的连接丢失了?
使用故事板,似乎无法将 WindowController 连接到 AppDelegate。我使用以下内容来获取对主要 window:
的引用
AppDelegate.h
@property (weak) NSWindow* window;
AppDelegate.m
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
_window = [[[NSApplication sharedApplication] windows] firstObject];
}
swift 解决方案参见 。希望这会有所帮助:)
当您创建一个新项目时,我似乎记得您可以使用 AppDelegate
方法中的 self.window
访问故事板中创建的基本空白 window。
我似乎也无法通过故事板为 AppDelegate.h
文件设置参考出口。我只是幻觉还是无法从 AppDelegate
访问 window/controller?
我是否混淆了 iOS 和 OSX 做法?
对我有用。
我在 AppDelegate.h
中添加了一个 IBOutlet@property (nonatomic) IBOutlet NSWindow *window;
然后在您的 Interface Builder 中(对我来说 MainMenu.xib)select App Delegate:
您的 IBOutlet 应该在 Connection inspector
右边:
也许您的 .xib 和 AppDelegate 之间的连接丢失了?
使用故事板,似乎无法将 WindowController 连接到 AppDelegate。我使用以下内容来获取对主要 window:
的引用AppDelegate.h
@property (weak) NSWindow* window;
AppDelegate.m
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
_window = [[[NSApplication sharedApplication] windows] firstObject];
}
swift 解决方案参见