即使 png 文件位于资源文件夹中,NSImage 也会返回 nil

2023-12-19

我正在尝试使用 NSImage imageNamed: 方法加载图像,但没有成功

我已将图像复制到项目文件夹:项目>资源中,并使用以下命令添加到项目中:“将文件添加到项目...”

    NSImage* image = [NSImage imageNamed:@"logosH"];

    if (image == nil){

        NSLog(@"NULL :/");
    }

    NSImageView *accessory = [[NSImageView alloc] initWithFrame:NSMakeRect(0,0,200,55)];
    [accessory setImageScaling:NSScaleToFit];
    [accessory setImage:[NSImage imageNamed:@"logosH.png"]];
    [myAlert setAccessoryView:accessory];

    [myAlert setIcon:[NSImage imageNamed:@"HipArthroplastyTemplating.tiff"]];

    [myAlert runModal];

这是代码。我已经尝试了在其他问题中可以找到的所有解释和解决方案,但不起作用,我在控制台中收到 NULL 消息,并且 setIcon 加载任何内容

我猜这是捆绑包或类似的东西(我正在学习 Objective-C,所以这是新的)

我使用了可可开发人员示例的代码,但不起作用,我尝试在该项目中加载我的图像,它在那里工作!但在我的项目中没有:/

有什么帮助,有什么想法吗?多谢


您的图像为空,因为未找到该图像。如果您的图像未复制到捆绑包中或者文件名错误,则可能会发生这种情况。

重要的提示:在每次测试之前清理您的项目,以确保资源得到更新。

图像的名称也应包含扩展名,但 .png 除外,扩展名不是强制性的。如果问题仍然存在,那么很可能该文件不在您的包中。要了解图像是否已复制到您的捆绑包中,请单击项目导航器(⌘ + 1) 并在您的文件检查器(⌘ + ⌥ + 1) 在目标会员部分,项目名称旁边的复选框已选中。

如果问题没有解决,请进入项目导航器在您的项目文件中(顶部的第一个文件)。确保左侧的选择是您的项目名称Target。然后前往构建阶段选项卡并打开该部分复制捆绑资源。如果您的图像不在列表中,则必须使用底部的 + 按钮添加它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使 png 文件位于资源文件夹中,NSImage 也会返回 nil 的相关文章

随机推荐