直接从代码创建NSView

时间:2012-07-19 14:03:55

标签: objective-c cocoa nsview

我想运行一个打开几个视图的小程序。除了Basic AppDelegate之外,我不想使用任何xib文件定义。

有人可以指导我如何在Cocoa中打开新窗口而不在xib文件中定义它,只是从代码中找到它?

这就是我现在正在做的事情 - 我应该添加什么?

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSRect frameRect    = NSMakeRect(100, 100 , 256, 256);
NSView* tmpView     = [[NSView alloc] initWithFrame:frameRect];
[tmpView setHidden:NO];
[tmpView setNeedsDisplay:YES];
} 

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要创建一个新的NSWindow并将其contentView设置为新的NSView,如下所示:

NSWindow *myWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(100,100,256,256) styleMask:NSTitledWindowMask backing:NSBackingStoreBuffered defer:NO];
[myWindow setContentView:tmpView];
[myWindow makeKeyAndOrderFront:self];