2

我在理解如何初始化视图而不将其连接到我的 nib 文件中时遇到问题。所以我想要做的是,而不是拖入视图并为其分配一个专用类,我想以编程方式将其添加到我的应用程序委托中的窗口中。

我真的不知道这是多么错误,但我在我的 AppDelegate 中尝试了这样的事情:

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

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

4

1 回答 1

3

是的,

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

是正确的。


我认为窗口也是一个 NSView

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

于 2012-10-04T20:50:08.570 回答