【发布时间】:2017-04-19 14:33:20
【问题描述】:
我正在尝试将自定义窗口作为 .xib 文件添加到我现有的 OSX 项目中。当我添加 xib 文件时,我确保在“添加到目标”中选中了目标
但是,当我查看 xib 文件的属性时,它显示它不是所需目标组的一部分
然后我在构建阶段实验性地将 xib 文件添加到“复制文件”中。现在 xib 文件的属性看起来有点不同了,目标被选中但显示为灰色。
Checked but grayed out target group
现在当我尝试访问 xib 文件时,例如,使用
bool suc = [[NSBundle mainBundle] loadNibNamed:@"GiphyDialog" owner:nil topLevelObjects:nil];
它总是返回 false。
或者如果我尝试使用窗口控制器加载 xib 文件:
[[Windowcontroller alloc ]initWithWindowNibName:@"GiphyDialog"];
NSWindow* win = windowController.window;
即使正确配置了文件的所有者和窗口引用(在全新项目中成功测试),我总是无法加载窗口并显示消息 “未能加载窗口 nib 文件'GiphyDialog'。”
如何将 xib 文件正确添加到所需的目标?真的很奇怪,有了一个新创建的项目,我将xib文件添加到目标中没有问题,但是有了这个项目,它根本不起作用。我错过了什么?
【问题讨论】:
-
XIB 的部署目标设置为 10.10。我不知道这是怎么发生的,但它可能会导致问题(参见图片“未检查目标”)
-
@shallowThought 感谢您的回复。我应该如何配置部署目标?其他选项是 macOS 10.x 及更高版本,x 范围从 6 到 12.1。我尝试了不同的选项,但没有改变灰色的问题
-
我的错误。我认为这是关于 iOS 目标的。
-
也许可以尝试在你的初始化文件名中添加扩展名...
标签: objective-c xcode macos xib