WatchKit:以编程方式设置WKInterfaceImage

时间:2015-03-10 01:13:07

标签: watchkit apple-watch

我想将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];
}

谢谢!

2 个答案:

答案 0 :(得分:13)

一切都按预期工作。

file1位于您的WatchKit App文件夹中,这意味着它位于 watch 上。

从主包中调用[UIImage imageNamed:]次加载,但不包含file1,因此您获得了nil

你这样做是正确的。 setImageNamed:将先在Watch上查找图像,然后在缓存中查找。

答案 1 :(得分:1)

从您的分机呼叫[UIImage imageNamed:imageName]将始终返回nil以获取缓存图片。图像缓存在手表上 - 而不是在您的扩展程序中。

缓存图像后,它允许您使用[WKInterfaceImage setImageNamed:]方法设置WKInterfaceImage。