【发布时间】:2011-12-21 03:38:27
【问题描述】:
我目前正在开发一个 nibles 的 AppKit 项目,我想知道在哪里初始化主窗口以外的视图是合适的。这是我现在拥有的:
main.m
#import <Cocoa/Cocoa.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
NSApplication *application = [NSApplication sharedApplication];
AppDelegate * applicationDelegate = [[AppDelegate alloc] init];
[application setDelegate:applicationDelegate];
[application run];
return EXIT_SUCCESS;
}
还有我的 AppDelegate:
#import "AppDelegate.h"
@implementation AppDelegate
- (id)init {
self = [super init];
if (!self) {
return nil;
}
NSRect contentSize = NSMakeRect(200, 300, 300, 100);
window = [[NSWindow alloc] initWithContentRect: contentSize styleMask:NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask
backing:NSBackingStoreBuffered
defer:NO];
window.title = @"NewWindow";
window.level = NSModalPanelWindowLevel;
return self;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[window makeKeyAndOrderFront:self];
}
@end
如果我现在想在我的窗口中添加子视图,例如按钮和窗格,我会在我的 AppDelegate 的 init 方法中完成所有这些吗?我会继承 NSWindow 并在那里更改 init 方法吗?我应该在applicationDidFinishLaunching 中完成所有这些吗?
【问题讨论】:
标签: objective-c cocoa appkit