看起来:
[[NSBundle mainBundle] pathForResource:@"name" ofType:@"png"];
不为Images.xcassets资产目录中的资产返回任何内容.我也尝试过:
[[NSBundle mainBundle] pathForResource:@"name" ofType:@"png" inDirectory:@"Images"];
[[NSBundle mainBundle] pathForResource:@"name" ofType:@"png" inDirectory:@"Images.xcassets"];
但这些都没有.
有没有人成功检索目录中的资产路径?
我在用
self.imageView.image = UIImage(named: "foo.png")
选择并加载图像UIIMageView.我在我的应用程序下面有图像images.xcassets.问题是,init根据官方Apple文档,此特定缓存图像以供重用:
如果您有一个只显示一次的图像文件并希望确保它不会被添加到系统的缓存中,您应该使用imageWithContentsOfFile创建图像:.这会将您的一次性图像保留在系统图像缓存之外,从而可能会改善应用程序的内存使用特性.
我的视图允许在选择之前循环显示图像,因此当我循环时内存占用量不断增加,即使从该视图导航回来也不会下降.
所以我试图使用UIIMage(contentsOfFile: "path to the file")哪些不缓存图像.在这里,我无法以编程方式获取我在images.xcassets下存储的图像的路径.
我尝试过使用:
NSBundle.mainBundle().resourcePath
和 NSBundle.mainBundle().pathForResource("foo", ofType: "png")
没有运气.对于第一个我得到了resourcePath,但是在通过终端访问它时,我看不到它下面的任何图像资产,而是我nil在使用它时得到的第二个.有一个简单的方法来做到这一点?
还看了几个SO问题(像这样,这个和这个)没有运气.我是否必须将我的图像放在其他地方才能使用pathForResource()?什么是正确的方法?
很难想象在:)之前没有人遇到过这种情况!