我在watchApp目标中的图像资源中添加了图像,现在我正在尝试使用这些图像加载数组。但每次我得到的图像为零。 恩。在watchApp目标中的image资产中添加了A1.png,A2.png,A3.png ...... 现在,尝试获取图像名称为...的图像 UIImage * img = [UIImage imageNamed:@" A1"];
But, every time I am getting nil.
答案 0 :(得分:1)
问题是您已在WatchApp目标中添加了图像,并尝试通过API加载图像,该API将搜索WatchExtention捆绑包中的图像。为了理解这一点,我们需要了解如何在WatchApp和WatchExtention的包中搜索图像。
我们举一个例子,我们有WKInterfaceImage
说objImage
的对象。
WKInterfaceImage *objImage
;
当您使用方法[objImage setImageNamed:@"abc"
]时,系统会将图像名称发送给WatchApp,并在WatchApp软件包中搜索不在Extention软件包中的图像。
但是,当您在Extention target(bundle)中指定图像然后使用这些图像时,需要使用imageNamed:
方法将它们传输到WatchApp目标,这将在Extention包中搜索而不是在WatchApp包中。
因此,如果您想使用imageNamed:
API,则还需要在Extention目标中指定您的图片。然而,这有一些自己的开销,我建议除非必要,否则不要使用。
查看Apple Documentation:Section - Using Named Images to Improve Performance以获取详细参考。