我想将我的UIImage设置为WKInterfaceImage,但是模拟器只显示黑屏。使用setImageNamed: NSString*方法可以正常工作,但使用setImage: UIImage*就不行了。我的file1.png被添加到“(应用名称) WatchKit应用”文件夹中。
- (void)willActivate {
[self.imageView1 setImage: [UIImage imageNamed: @"file1"]]; // doesn't work
[self.imageView1 setImageNamed: @"file1"]; // works OK
[super willActivate];
}谢谢!
发布于 2015-03-10 10:38:22
一切都在按预期进行。
file1在你的WatchKit应用文件夹中,这意味着它在手表上。
调用[UIImage imageNamed:]会从不包含file1的主包中加载,因此您会得到nil。
你这样做的方式是正确的。setImageNamed:将首先在手表上查找图像,然后在缓存中查找。
发布于 2015-03-10 09:23:57
从您的扩展调用[UIImage imageNamed:imageName]将始终返回缓存图像的nil。图像缓存在手表上-而不是在您的扩展中。
一旦图像被缓存,它就允许您使用[WKInterfaceImage setImageNamed:]方法设置WKInterfaceImage。
https://stackoverflow.com/questions/28954604
复制相似问题