xcassets 中的所有图像,然后如何加载从我的包中的 nib 引用的图像
Posted
技术标签:
【中文标题】xcassets 中的所有图像,然后如何加载从我的包中的 nib 引用的图像【英文标题】:All images in xcassets, then how load the image referenced from a nib in my bundle 【发布时间】:2016-01-06 15:45:48 【问题描述】:在我的 ios 项目中,我创建了一个名为:PaoPaoImages.xcassets 的 xcasset 然后我将所有图像放入 PaoPaoImages.xcassets。
我有一个名为:a.xib 的 xib 文件,我将它编译成 a.nib。 然后我将 a.nib 放入一个名为:paopao.bundle 的包中。
所以,现在,我在 PaoPaoImages.xcassets 中的图像和在 PaoPao.bundle 中的笔尖。笔尖参考图像。 然后,我运行我的项目,笔尖无法显示图像。
我被难住了……有什么建议吗?
【问题讨论】:
这和编码有关系吗? 不要对编码做任何事情。我的意思是:我在 PaoPaoImages.xcassets 中的图像,我在 PaoPao.bundle 中的 nib。笔尖参考图像。现在,我运行我的项目,笔尖无法显示图像。非常感谢。 【参考方案1】:为了从资产目录访问图片,您只需要访问资产组的名称,无需任何扩展。
因此,如果您将名为 @"my-button@2x.png" 的图像添加到资产目录,它将创建一个名为 my-button 的资产组。
现在,您所要做的就是像这样访问图像:
在编码中使用以下行
[UIImage imageNamed:@"my-button"];
而不是
[UIImage imageNamed:@"my-button.png"];
此外,您可以通过重命名资产组(不重命名图像)或更改其单个组件来编辑资产组。这将允许您遵循更简单的命名约定,并在不同的 UIScreen
比例之间显示完全不同的资产,而无需任何比例检查。
为了合并不同设备尺寸的图像,您可能需要在资产目录组选项的“设备”子标题下切换它。
【讨论】:
非常感谢!但是,我的意思是:我在 PaoPaoImages.xcassets 中的图像,我在 PaoPao.bundle 中的 nib。笔尖参考图像。现在,我运行我的项目,笔尖无法显示图像。【参考方案2】:==> 在这里查看代码尝试一下:-
NSBundle *myImageBundle=[NSBundle bundleWithPath: myBundlePath];
NSArray *ImageURLs=[myImageBundleURLsForResourcesWithExtension:@"png" subdirectory:nil];
NSLog(@"imageURLS: %@",ImageURLs);
=>这里参考更多试试吧:-
Access Asset Catalog programmatically
Load image from bundle with IOS
【讨论】:
对不起,我的意思是:我的图片在 PaoPaoImages.xcassets 中,我的笔尖在 PaoPao.bundle 中。笔尖参考图像。现在,我运行我的项目,笔尖无法显示图像。以上是关于xcassets 中的所有图像,然后如何加载从我的包中的 nib 引用的图像的主要内容,如果未能解决你的问题,请参考以下文章
无法从 CocoaPods 中的 .xcasset 加载图像
如何使用 swift 将 Images.xcassets 中的图像加载到 UIImage 中
如何将 Images.xcassets 中的图像加载到 UIImage 中
如何使用 swift 将 Images.xcassets 中的图像加载到 UIImage 中