苹果手表上的图像

时间:2015-04-14 15:35:32

标签: ios objective-c watchkit apple-watch wkinterfaceimage

昨天我的申请被拒绝时遇到了问题。显然,图像没有显示在实际的Apple Watch上,但它们正在模拟器中显示。我甚至尝试重置模拟器,无法复制苹果员工发生的问题。所以我只是想知道在苹果手表上添加/显示图像的正确方法是什么,以便它们能够在实际的硬件设备上正确显示?

代码:

·H

@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliLeft;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliRight;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliCenter;

@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTL;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTM;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTR;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsML;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsMM;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsMR;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBL;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBM;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBR;

的.m 当我实际以编程方式设置图像时

[self.imageHeliLeft setImageNamed:@"helicopter_1"];

另外,我使用界面构建器来设置图像

4 个答案:

答案 0 :(得分:2)

这是答案。我不知道为什么我知道这一点,但这是你需要做的。

  1. 从Watch App目标中删除所有图片。
  2. 将图像添加到Watch App目标中的图像资源文件。
  3. 通过资产文件中的名称引用图像。
  4. 如果您可以在模拟器中看到图像并且它们不在您的Watch App目标中,并且它们位于资产文件中,那么它们将适用于审阅者。

答案 1 :(得分:2)

从Xcode 6.3开始,iOS 8.3:

不要使用图像名称的“.png”部分。在故事板中看起来会很奇怪,显示蓝色的“?”而不是图像缩略图,但它可以在模拟器和手表上工作。同样可以为Context Menus指定PNG并以编程方式指定动画。

答案 2 :(得分:2)

如果您要在扩展程序代码中设置图片,则还应将所有图片添加到扩展程序目标中。

答案 3 :(得分:0)

验证文件名是否正确,并将图像放在正确的目标资产库中。

WatchKit Images

建议您将图片资源文件放在WatchKit应用程序的包中(而不是在WatchKit扩展程序包中)。将它们放在WatchKit应用程序包中,可以使用此类的setImageNamed:方法指定动画图像。使用该方法设置它们可以消除将图像从用户的iPhone传输到Apple Watch的需要,从而提供更好的性能。设置图像的其他方法必须无线发送您提供给Apple Watch的UIImage对象或图像数据。