我想将UIImage设置为WKInterfaceImage,但模拟器只显示黑屏。
它可以使用setImageNamed: NSString*
方法正常工作,但不能使用setImage: UIImage*
。我的file1.png被添加到“(App Name)WatchKit App”文件夹中。
- (void)willActivate {
[self.imageView1 setImage: [UIImage imageNamed: @"file1"]]; // doesn't work
[self.imageView1 setImageNamed: @"file1"]; // works OK
[super willActivate];
}
谢谢!
答案 0 :(得分:13)
一切都按预期工作。
file1
位于您的WatchKit App文件夹中,这意味着它位于 watch 上。
从主包中调用[UIImage imageNamed:]
次加载,但不包含file1
,因此您获得了nil
。
你这样做是正确的。 setImageNamed:
将先在Watch上查找图像,然后在缓存中查找。
答案 1 :(得分:1)
从您的分机呼叫[UIImage imageNamed:imageName]
将始终返回nil
以获取缓存图片。图像缓存在手表上 - 而不是在您的扩展程序中。
缓存图像后,它允许您使用[WKInterfaceImage setImageNamed:]
方法设置WKInterfaceImage。