4

昨天我的申请被拒绝时遇到了一个问题。显然,图像并未显示在实际的 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

4 回答 4

2

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

  1. 从您的 Watch App 目标中删除所有图像。
  2. 将图像添加到 Watch App 目标中的图像资产文件。
  3. 按资产文件中的名称引用图像。

如果您可以在模拟器中看到图像并且它们不在您的 Watch App 目标中并且它们在资产文件中,那么它们将为审阅者工作。

于 2015-04-14T15:44:20.587 回答
2

从 Xcode 6.3、iOS 8.3 开始:

去掉图像名称的“.png”部分。它在情节提要中看起来很奇怪,显示一个蓝色的“?”,而不是图像缩略图,但在模拟器和手表上都可以使用。为上下文菜单指定 PNG 和以编程方式指定动画也是如此。

于 2015-05-13T22:04:45.393 回答
2

如果您在扩展代码中设置图像,您也应该将所有图像添加到扩展目标。

于 2015-06-11T07:59:39.467 回答
0

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

WatchKit 图片

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

于 2015-04-14T15:41:40.753 回答