【问题标题】:What is the application Bundle and Resources folder什么是应用程序包和资源文件夹
【发布时间】:2013-12-08 16:01:25
【问题描述】:

我的问题是关于项目中的应用程序包。我正在阅读相关内容并且可以理解一些基本的东西(我不是以英语为母语的人)。我可以理解resources folder 用于保存将在项目中使用的文件,例如媒体文件(图像、音频、视频等),并应在application bundle 中进行识别。

那么,如果我想在我的项目中使用图像和其他资源,有什么意义呢?在我的other related question 中,我无法通过引用NSImage imageNamed: 来使用它们。

我使用了以下内容但没有成功加载我的文件:

  • NSBundle 方法
  • imageNamed:@"string" 带/不带文件扩展名
  • 图片在资源文件夹中

我正在学习CocoaObjective-C,当然这与我想创建ImageIcon 或QImage 时的C++Java 不同。

【问题讨论】:

  • 你能给我们一些代码吗,你试过了,没有用?还要确保文件在Target Membership 内。只需选择文件并查看右侧的File Inspector
  • NSImageView *accessory = [[NSImageView alloc] initWithFrame:NSMakeRect(0,0,200,55)]; [附件 setImageScaling:NSScaleToFit]; [附件setImage:[NSImage imageNamed:@“logosH.png”]]; [myAlert setAccessoryView:accessory];最奇怪的是,我设法通过 NSImageView 使用 IB 加载其中一个图像,但在代码中,没有
  • 文件在目标成员中被检查
  • @user3078163 通过单击edit 将该信息添加到您的问题中,然后修改您的问题(而不是添加 cmets)。

标签: objective-c macos nsimageview


【解决方案1】:

我可能没有完全理解这个问题,如果我错了,请纠正我。我认为问题与您图像的目标成员资格或您如何在代码中检索图像有关。

将图像添加到项目目标将在编译时适当地复制资源。要将图像添加到您的目标,请在文件导航器中选择它,然后显示实用程序面板。在实用程序面板上,选择 File Inspector 选项卡。查找 Target Membership 部分并确保为所需目标选择图像:

你的意思是不能使用NSImage imageNamed:方法来检索资源?如果是这样,您可以像这样检索资源(从主资源包中):

NSString *imageName = [[NSBundle mainBundle] pathForResource:@"image1" ofType:@"png"];
NSImage *imageObj = [[NSImage alloc] initWithContentsOfFile:imageName];

您似乎也已经拥有a good answer to your other related question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 2017-08-30
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 2018-12-19
    相关资源
    最近更新 更多