2014-12-20 5 views
8

Как я могу программно установить фоновое изображение приложения WatchKit? Мне нужно установить это в коде, поскольку он изменяется в зависимости от размера переменной, и нам нужно поместить надпись на изображение.Apple Watch set background image

ответ

21

Это не представляется возможным установить программно фоновое изображение на всего Часы App страницы в WatchKit ... фоновое изображение для всей страницы может в текущее время быть установлен только в Interface Builder появляется он.

Однако, вы можете установить изображение в качестве фона за ярлыком, и сделать это изображение на весь экран: Set a background image on a Group in WatchKit

  1. Создать группу в вашей WatchKit сцене. Вероятно, вы хотите установить атрибуты настраиваемого размера для представления (например, в разделе «Размер» «Ширина» и «Высота» как «Относительно контейнера» со значением «1» для заполнения сцены.
  2. Установите желаемое фоновое изображение в качестве фона .. атрибут для группы
  3. Поместите метку внутри группы, и форматировать его по своему желанию

Этих группа изображения также могут быть установлены программно:

  1. установить IBOutlet для группы в вашем Расширение WatchKit обычным способом, Ctrl-перетаскивание из группы к классу Interface Interface в Extension.
  2. Убедитесь, что ваше изображение включено как «Копировать ресурс пакета» в приложение WatchKit (а не расширение).
  3. Установить фоновое изображение в awakeWithContext способе расширения (предполагается, что вы назвали «группа» вашего IBOutlet):

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

    Обе методики, конечно, не независимы друг от друга. Вы можете установить начальное изображение в Interface Builder, а затем заменить его программно позже, если это вызвано.

+3

Это спасло меня: «Убедитесь, что ваш образ включен в качестве„Копировать пакет ресурсов“в вашем WatchKit App (не Extension) «. –

+0

Вы также можете сделать это (setBackgroundImage в группе) с данными изображения, которые вытащили из веб-службы или другого внешнего местоположения (любой объект NSData можно использовать). Поэтому вам необязательно иметь изображение как часть пакета. Расширение обработает передачу изображения на Apple Watch для вас. – Mike

+0

@SilviuSt, я не могу найти «Copy Bundle Resource» в моих настройках «WatchKit App» –

3

Я использовал setBackgroundImageNamed:, и это сработало. Просто передайте имя изображения вместе с расширением. Убедитесь, что изображение находится в вашем WatchKit приложение пачке или вашего устройства на стороне кэша

[self.groupA setBackgroundImageNamed:@"image.png"];