gpt4 book ai didi

objective-c - 接口(interface)生成器 : how to load a nib file

转载 作者:行者123 更新时间:2023-12-03 17:52:55 26 4
gpt4 key购买 nike

我正在开发一个项目,在该项目中创建了 .xib 文件,并希望加载在 xib 文件中创建的窗口。

我尝试了以下代码,但没有成功:

- (id) initWithWindowNibName: (NSString *) windowNibName
{
self = [ super initWithWindowNibName: windowNibName];
if ( self != nil )
{
[ self window ];

}
return self;
}

我正在调用 initWithWindowNibName 方法,希望它能够加载与当前 Controller 关联的窗口。基本上,我是在黑暗中扔飞镖!

实际上,我对如何将创建的 Nib 与 Controller 关联起来几乎一无所知,以便上面的代码实际加载窗口。我已经能够关联各种 IBOutletsIBActions 但只是无法加载窗口。

我走错了路还是有特定的方法调用来加载窗口?

编辑:[super initWithWindowNibName: windowNibName]调用是对NSWindowController的调用,它是该 Controller 类的父类(super class)。

最佳答案

您将其称为:

self.myWindowController = [[NSWindowController alloc] initWithWindowNibName:@"NewWindow"];

然后你需要显示窗口:

[self.myWindowController showWindow:self]; //self or nil

或者,如果您想将其加载为工作表:

[NSApp beginSheet: [self.myWindowController window]
modalForWindow: self.window
modalDelegate: self
didEndSelector: @selector(sheetDidEnd:returnCode:contextInfo:)
contextInfo: nil];

编辑:

- (id)initWithWindow:(NSWindow *)window
{
self = [super initWithWindow:window];
if (self) {
...//other initiliasation codes here
}

return self;
}

关于objective-c - 接口(interface)生成器 : how to load a nib file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20466153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com