Cocoa - 如何以编程方式初始化视图



我在理解如何在不将其连接到笔尖文件中的情况下初始化视图时遇到问题。因此,我想做的不是拖入视图并为其分配专用类,而是希望以编程方式将其添加到应用程序委托中的窗口中。

我真的不知道这有多错误,但我在我的应用程序代表中尝试了这样的事情:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    DView *dV = [[DView alloc]initWithFrame:NSMakeRect(0, 0, 1000, 600)];
    [self.window addSubview:dV];
}

我认为该窗口也是NSView,那么为什么不将其添加到其中呢?但这崩溃并以无限循环结束。我希望你能帮助我。谢谢。

是的,

MONView * view = [[MONView alloc] initWithFrame:someFrame];

是正确的。


我认为该窗口也是NSView。

不是 NSView(它是一个NSResponder)。正如 Richard Stahl 指出的那样,您应该改为与窗口的内容视图进行交互:[window.contentView addSubview:view];

最新更新