2014-12-20 17 views
8

Jak mogę programowo ustawić mój obraz tła WatchKit App? Muszę ustawić to w kodzie, ponieważ zmienia się w zależności od rozmiaru zmiennej i musimy umieścić etykietę nad obrazem.Apple Watch ustawić obraz tła

Odpowiedz

21

To nie jest możliwe programowo ustawić obraz tła na całej Watch App stronie w WatchKit ... obraz tła dla całej strony mogą w chwili obecnej być ustawiony tylko w konstruktorze Interface wydaje.

Jednak może ustawić obraz jako tło za etykietą i sprawi że obraz wypełnia ekran: Set a background image on a Group in WatchKit

  1. Utwórz grupę w swojej WatchKit sceny. Najprawdopodobniej będziesz chciał ustawić atrybuty niestandardowego rozmiaru dla widoku (np. W ustawieniu Rozmiar jako szerokość i wysokość jako "Względny względem kontenera" o wartości "1", aby wypełnić scenę:
  2. Ustaw żądany obraz tła jako Tło .. atrybut grupy
  3. Umieść etykietę wewnątrz grupy i sformatować go jako pożądany

Ta grupa obraz może być również ustawiony programowo:

  1. Ustaw IBOutlet dla grup do WatchKit Extension w zwykły sposób, przeciągając Ctrl z grupy do klasy kontrolera interfejsu w rozszerzeniu.
  2. Upewnij się, że obraz jest dołączony jako "Zasobnik pakietu kopiowania" do aplikacji WatchKit (nie do rozszerzenia).
  3. ustawić obraz tła w sposobie Extension awakeWithContext (zakładając, że grupa o nazwie „” Twój IBOutlet):

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

    Obie techniki są oczywiście nie wzajemnie niezależne. Możesz ustawić początkowy obraz w Konstruktorze interfejsów, a następnie go później programowo, jeśli jest to wymagane.

+3

To uratowało mnie: „Upewnij się, że obraz jest ujęte jako«kopia pakunku zasobów»w swojej WatchKit app (nie rozszerzeniem) . " –

+0

Można to również zrobić (setBackgroundImage w grupie) z danymi obrazu, które są pobierane z usługi WWW lub innej lokalizacji zewnętrznej (można użyć dowolnego obiektu NSData). Więc niekoniecznie musisz mieć obraz jako część pakietu. Rozszerzenie będzie obsługiwać przesyłanie obrazu do Apple Watch. – Mike

+0

@SilviuSt, Nie mogę znaleźć 'Copy Bundle Resource' w moim ustawieniu docelowym' WatchKit App' –

3

Użyłem setBackgroundImageNamed: i zadziałało. Wystarczy podać nazwę obrazu wraz z rozszerzeniem. Upewnij się, że obraz jest w swojej WatchKit aplikacji pakietu lub urządzeniu stronie cache

[self.groupA setBackgroundImageNamed:@"image.png"]; 
Powiązane problemy