WatchKit:以编程方式设置WKInterfaceImage

Daw*_*wid 10 apple-watch watchkit

我想将我的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];
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jac*_*ack 13

一切都按预期工作.

file1在您的WatchKit App文件夹中,这意味着它在手表上.

[UIImage imageNamed:]从主包中调用不包含的负载file1,这样你就可以得到nil.

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


gag*_*wal 1

从您的分机拨打的电话[UIImage imageNamed:imageName]将始终返回nil缓存的图像。该图像缓存在手表 \xe2\x80\x94 上,而不是在您的扩展中。

\n\n

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

\n