不成功,我已经广泛搜索了如何以编程方式使 NSWindowController 在 OSX Lion 中以全屏模式运行。
我什至买了“Sams 自学 Mac OS X Lion 应用程序开发”,因为第 21 章/小时应该教如何做到这一点。我看到一些评论说本书中的代码通常不能正常工作。我还是抓住了机会,呃!
这是上述章节示例的链接。
基本上,这只是一个测试程序,基于上面列出的第 21 小时:
#import <Cocoa/Cocoa.h>
@interface WeatherWindowController : NSWindowController
- (IBAction)toggleFullScreen:(id)sender;
@end
我添加了一个 NSObject 并将 WeatherWindowController 分配给它。我有一个正确连接的按钮,因为它正在正确记录 NSLog 语句。
#import "WeatherWindowController.h"
@interface WeatherWindowController ()
@end
@implementation WeatherWindowController
- (id)initWithWindow:(NSWindow *)window
{
self = [super initWithWindow:window];
if (self) {
// Initialization code here.
}
return self;
}
-(void) awakeFromNib{
self.window.collectionBehavior = NSWindowCollectionBehaviorFullScreenPrimary;
}
- (void)windowDidLoad
{
[super windowDidLoad];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
}
- (IBAction)toggleFullScreen:(id)sender {
NSLog(@"before toggleFullScreen");
[self.window toggleFullScreen:sender];
NSLog(@"after toggleFullScreen");
}
@end