Apple watch not showing any images

时间:2015-04-29 00:32:46

标签: ios swift watchkit apple-watch

we are having problems with image not showing up on the apple watch, we tried the following :

Our image is located in the apple watchkit extension, and we tried to put it in the cache:

let img = UIImage(named:"slider_r.png")
WKInterfaceDevice().addCachedImage(img!, name:"slider_r.png")

It crashed immediately...

Then we tried to add the image directly on the apple watchkit app: no assets. No image loaded up...

Then we tried putting it in an image.assets didn't work either... We are currently out of ideas...

Thanks !

1 个答案:

答案 0 :(得分:4)

好吧,我现在和WatchKit一起工作了大约一个月 - 这就是我所知道的:

  1. 将图片放入观看应用程序的资产目录会将其添加到Watch的捆绑包中。这将立即可供使用UIImage的%d%d%d%d%d%d%d%d%d%d
  2. 将图片放入观看分机的资产目录会将其添加到手机上的扩展程序包中。现在,为了获得手表,您必须首先获取对扩展程序中图像的引用,然后使用.setImageNamed("name")将其添加到设备的缓存中。
  3. 查看Apple文档,向Watch here提供图像。这是WKInterfaceDevice().addCachedImage(image, name:)的文档:

      

    此方法更改正在显示的图像。使用此方法将WatchKit扩展中的图像发送到WatchKit应用程序。调整图像界面对象的大小以适应新指定图像的大小。如果图像本身对于设备的屏幕来说太大,则会剪切图像。

    这不是你想要的。您希望将图像显式添加到缓存中,以便以后使用它。如果您按照上述说明使用setImage(_ image: UIImage?),则每次调用时都会将图像从手机传输到手表,如果您在多个位置使用相同的图像,或者您在&#39 ;经常使用它。您必须小心选择要在手表上缓存哪些图像。

    使用我们现在所知道的:

    setImage
    • 确保资产目录包含在扩展程序的目标中,以便在运行时将图像正确放置在软件包中。
    • 需要在图片名称中加入扩展名(例如" .png")。