9

如何以编程方式设置我的 WatchKit App 背景图像?我需要在代码中设置它,因为它会根据可变大小而变化,我们需要在图像上放置一个标签。

4

2 回答 2

22

无法在 WatchKit 中以编程方式在整个 Watch App 页面上设置背景图像……整个页面的背景图像目前只能在它出现的 Interface Builder 中设置。

但是,您可以将图片设置为标签后面的背景,并使该图片充满屏幕: 在 WatchKit 中的组上设置背景图像

  1. 在 WatchKit 场景中创建一个组。您可能希望为视图设置自定义尺寸属性(例如,在尺寸下将宽度和高度设置为“相对于容器”,值为“1”以填充场景。
  2. 将所需的背景图像设置为组的背景属性。
  3. 将您的标签放在组内,并根据需要对其进行格式化。

该组图像也可以通过编程方式设置:

  1. 以通常的方式将组的 IBOutlet 设置为您的 WatchKit 扩展,方法是按住 Ctrl 键从组拖动到扩展中的接口控制器类。
  2. 确保您的图像作为“复制捆绑资源”包含在您的 WatchKit 应用程序(而不是扩展程序)中。
  3. 在 Extension的方法中设置背景图像awakeWithContext(假设您将 IBOutlet 称为“组”):

    [self.group setBackgroundImage:[UIImage imageNamed:@"myImageName.png"]];
    

    这两种技术当然不是相互独立的。您可以在 Interface Builder 中设置初始图像,然后在需要时以编程方式替换它。

于 2015-01-11T08:57:44.537 回答
3

我用过setBackgroundImageNamed:,效果很好。只需将图像的名称与扩展名一起传递即可。确保图像在您的 WatchKit 应用程序包或设备端缓存中

[self.groupA setBackgroundImageNamed:@"image.png"];
于 2015-05-05T13:07:36.293 回答