Witaj, watchOS — przewodnik
Po utworzeniu rozwiązania wykonaj kroki opisane w temacie Instalacja i instalacja, będziesz mieć 3 projekty:
- Aplikacja nadrzędna systemu iOS, która jest używana do konfigurowania lub innych zadań administracyjnych na urządzeniu. (W przypadku innych typów rozszerzeń systemu iOS jest to często nazywane aplikacją "Kontener". Dzięki aplikacjom do obejrzenia użytkownicy będą mogli uruchamiać aplikację do oglądania bez konieczności uruchamiania aplikacji nadrzędnej;
- Rozszerzenie zegarka, które zawiera kod programu dla aplikacji zegarka; I
- Aplikacja do obejrzenia, która zawiera zasoby scenorysu i obrazu renderowane na zegarku.
Sprawdź, czy odwołania są poprawne: czy aplikacja nadrzędna ma odwołanie do aplikacji zegarka i czy aplikacja zegarka ma odwołanie do rozszerzenia.
Upewnij się, że identyfikatory pakietów są zgodne z konwencją *.watchkitextension *.watchkitapp i że plik Info.plist rozszerzenia ma wartość identyfikatora pakietu WKApp ustawioną na identyfikator pakietu aplikacji do obejrzenia.
Teraz powinno być możliwe uruchomienie aplikacji do obejrzenia, ale ponieważ plik scenorysu w aplikacji do obejrzenia jest pusty, nie będzie można powiedzieć.
Kliknij dwukrotnie scenorys Interface.storyboard w aplikacji do oglądania, aby uruchomić Projektant platformy Xamarin dla systemu iOS (jeśli jesteś na komputerze Mac, możesz również kliknąć prawym przyciskiem myszy i otworzyć za pomocą > narzędzia Xcode Interface Builder)
Upewnij się, że okienka Przybornik i właściwości są widoczne,
Kliknij, aby wybrać kontroler interfejsu,
Ustaw identyfikator i tytuł kontrolera interfejsu na interfaceController i Hi Watch,
Sprawdź, czy klasa jest ustawiona na InterfaceController
Tworzenie interfejsu użytkownika:
- Z poziomu okienka przybornika ,
- Przeciągnij i upuść przycisk oraz etykietę na scenę i
- Ustaw tekst i atrybuty kontrolek, jak pokazano:
Ustaw nazwę w okienku Właściwości dla każdej kontrolki. W tym przykładzie użyto i
myButton
myLabel
.Wybierz przycisk na scenorysie i przejdź do listy Zdarzenia konsoli właściwości, a następnie
Utwórz nową akcję, wpisując
OnButtonPress
i naciskając klawisz Enter. Akcja zostanie wyświetlona na liście, a metoda częściowa zostanie automatycznie utworzona w języku C#.
Po zapisaniu scenorysu InterfaceController.designer.cs zostanie zaktualizowana przy użyciu nazw kontrolek i akcji. Jeśli otworzysz ten plik po jego zaktualizowaniu, zobaczysz, jak odpowiada kontrolerowi i jak RegisterAttribute
kontrolki interfejsu użytkownika odpowiadają zmiennym wystąpienia języka C# oznaczonym za pomocą OutletAttribute
elementu i jak akcje są mapowane na częściowe metody oznaczone tagiem ActionAttribute
:
// WARNING
//
// This file has been generated automatically by Visual Studio for Mac from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
[Register ("InterfaceController")]
partial class InterfaceController
{
[Outlet]
[GeneratedCode ("iOS Designer", "1.0")]
WatchKit.WKInterfaceButton myButton { get; set; }
[Outlet]
[GeneratedCode ("iOS Designer", "1.0")]
WatchKit.WKInterfaceLabel myLabel { get; set; }
[Action ("OnButtonPress:")]
[GeneratedCode ("iOS Designer", "1.0")]
partial void OnButtonPress (WatchKit.WKInterfaceButton sender);
void ReleaseDesignerOutlets ()
{
if (myButton != null) {
myButton.Dispose ();
myButton = null;
}
if (myLabel != null) {
myLabel.Dispose ();
myLabel = null;
}
}
}
Teraz otwórz InterfaceController.cs (nie InterfaceController.designer.cs) i dodaj następujący kod:
int clickCount = 0;
partial void OnButtonPress (WatchKit.WKInterfaceButton sender)
{
var msg = String.Format("Clicked {0} times", ++clickCount);
myLabel.SetText(msg);
}
Ten kod powinien być dość przezroczysty: zmienna clickCount
wystąpienia jest zwiększana za każdym razem, gdy funkcja OnButtonPress
jest wywoływana. myLabel
Tekst elementu zostanie zmieniony, aby odzwierciedlić tę liczbę. myLabel
Oczywiście jest nazwą jednej z placówek utworzonych w programie XCode. Funkcja partial
jest implementacją funkcji skojarzonej z nazwą określonej akcji.
Jeśli nie jest to jeszcze projekt startowy,
Kliknij prawym przyciskiem myszy projekt Rozszerzenia zegarka i wybierz polecenie Ustaw jako projekt startowy.
Ustaw element docelowy wdrożenia na obraz symulatora zgodny z zestawem watch (na przykład i Telefon 6 iOS 8.2),
Naciśnij przycisk Debuguj, aby wyzwolić uruchomienie kompilacji i symulatora.
Po uruchomieniu symulatora naciśnij przycisk , aby zwiększać etykietę. Gratulacje, masz aplikację do obejrzenia!