- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在复制包资源下列出了 images.xcassets,在尝试在 images.xcassets 中添加路径之前,我确实尝试只声明文件名本身:MSB_big_icon。
谁能告诉我我做错了什么?
NSString *path = [[NSBundle mainBundle]pathForResource:@"/Raymio_android_images/MSB_big_icon.imageset/MSB_big_icon" ofType:@"png"];
NSLog(@"path: %@", path);
MSBIcon *tilecon = [MSBIcon iconWithUIImage:[UIImage imageWithContentsOfFile:path] error:&error];
最佳答案
David Ansermot 是对的,xcassets 是一种更好的方法并且是强烈推荐的方法。如果您不能使用它(例如在旧版本的 iOS 上运行),仍然将所有内容放在一个目录中并使用 imageNamed:
。与手动加载文件相比,这具有显着的缓存优势。
安asset catalog (xcassets) 是一种(相对)新的、统一的图像资源管理方式。这些图像不再作为磁盘上的单独文件进行访问。相反,imageNamed:
查询 Assets 目录并获取正确的 Assets 。
在 Assets 目录(对于非图像)之前, Assets 存储在本地化目录中。所有未本地化的资源都将被放入名为 Resources
的目录中(无论这些文件在源代码树中的什么位置,也无论这些文件在 Xcode 文件夹中的排列方式如何)。本地化文件将存储在 English.lproj
或 French.lproj
等目录中。当您进行 NSBundle
调用以加载 MyImage
时,它会按照用户配置的顺序查看每个本地化目录,如果在这些目录中找不到它,它查看 Resources
。
现在可以通过在 Xcode 中将完整目录标记为目录引用来将它们存储为“资源”。在这种情况下,整个目录将被复制到 Resources
或适当的本地化目录中。为了在这样的目录中查找文件,您可以使用 ...inDirectory:
版本的 NSBundle
方法。所以大多数时候,您只想使用 imageNamed:
,如果可用的话,它将从 Assets 目录中获取内容,然后搜索本地化目录,然后查看 Resources
。如果你需要找到一个非图像,或者如果出于某种原因你想要文件的真实路径,你可以这样计算:
NSString *path = [[NSBundle mainBundle] pathForResource:@"MSB_big_icon" ofType:@"png"];
如果该资源位于目录树中(因为它是 Xcode 中的目录引用),您可以像这样访问它:
NSString *path = [[NSBundle mainBundle] pathForResource:@"MSB_big_icon"
ofType:@"png"
inDirectory:@"Raymio_android_images/MSB_big_icon.imageset"];
关于ios - NSbundle pathforresource 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29651764/
NSBundle *customBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"CustomBun
请帮助我理解principalClass的用途是什么?它的语法是什么。我知道它是在 NSBundle 类中,但是我们可以为任何 bundle 创建它吗?它是否只针对 laodable bundle ?
我想获取我的包的可执行路径。 (我想获取路径,以便我可以在 NSImageView 中加载图像) 我明白了。 NSString * _Ruta_APP = [[NSString alloc] init
我正在开发其他开发人员创建的iOS项目,但在运行此应用程序时遇到问题。现在,在某个时候,我有以下代码,该代码返回nil,并且还会出现更多问题: NSString *staticLibraryBundl
当我使用NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@"sqlite"]; 当文件未包含在 Xcode 中时
NSBundle 最常见的用途似乎是保存 nib 文件和此类文件。但从我读到的内容来看,我似乎也可以捆绑类,但我找不到任何如何实现这一目标的示例。您能否提供一个示例,如果是,您能否告诉我 Apple
我在 bundle myBundle 中创建了一个目录 MyDirectory。然后我将图像 myImage.png 放入 MyDirectory 中。但是调用 [myBundle pathForR
我们有一个支持英语和法语本地化的应用程序,我们使用 NSBundle 的首选本地化来检索当前设备区域设置 NSArray *prefLocalizations = [NSBundle pref
有什么方法可以从 iOS 上的文档文件夹中使用 NSBundle 吗? 最佳答案 也不确定确切的问题是什么,但这是我如何访问我的应用程序的本地文档文件夹(这不是您存储应用程序使用的源的文档文件夹,而是
我正在使用 iOS 4.3 SDK 开发 iOS 应用程序,但我希望该应用程序在我每次关闭应用程序时动态更改 iPad 屏幕上的图标名称。 据我所知,我可以使用 NSBundle 做到这一点,但我不知
我正在编写一个 iPhone/iPad 应用程序,其中包含压缩文件,这些文件基本上是网站的内容,然后我可以在提取后运行这些文件。但是,我想将所有这些文件和文件夹放入一个文件中,即一个 NSBundle
我有一个场景,其中我有要从服务器下载的本地化文件。我在应用程序开始时下载文件并将其存储在捆绑文件夹中。就像它的英文文件一样,我将它存储在文件夹 'en.lproj' 下,名称为 Localizable
我是 swift 的新手,但我正在尝试访问我放在“资源”组文件夹中的文件夹内容,同时使用路径作为 NSURL。我正在考虑使用“fileURLWithPath”,但我不太确定。这里是文件路径/Users
我的项目中有图像列表,我必须使用 NSBundle 获取整个列表,我该怎么做 谢谢 最佳答案 这应该可以做到: NSLog(@"Images in bundle are:"); NSString
我正在使用 cocoa 编写一个应用程序,该应用程序在运行时安装额外的 NSBundle。但我无法从中获取任何资源。这是到目前为止的代码: -(void)load { NSString *ap
有人建议我使用这行代码从我的资源文件夹/项目包中调用图像。我还看到它在许多不同的网站教程中都像这样使用。 NSBundle *mb=[NSBundle mainBundle]; NSString *f
我正在构建一个可用于创建“项目”的 Mac OS X 应用程序。当用户保存项目时,他们将保存许多资源:图像文件、文本文件、sqlite 文件等。 我可以在文档中为每个项目创建一个文件夹,在该文件夹中我
鉴于 -[NSBundle localizations] 返回的本地化目录 (en, es, it, nl) 以及由 -[NSLocale PreferredLanguages] 返回的用户设置的语言
我有一个框架试图从包中访问 xib 和图像。我可以正常访问 xib 但无法在 UIImageView 中加载图像。我什至检查文件是否存在并且控制台输出是... 知道如何加载图像吗? 在框架 View
我的存储中的文件中有一个大的 Json 数据,我正在尝试使用 SwiftyJson 解析该 json 。这是我的代码: let path = NSBundle.mainBundle().path
我是一名优秀的程序员,十分优秀!