Kontrolki obrazów systemu watchOS na platformie Xamarin
system watchOS udostępnia kontrolkę do wyświetlania WKInterfaceImage
obrazów i prostych animacji. Niektóre kontrolki mogą również mieć obraz tła (na przykład przyciski, grupy i kontrolery interfejsu).
Użyj obrazów wykazu zasobów, aby dodać obrazy do aplikacji zestawu Watch Kit. Wymagane są tylko @2x wersje, ponieważ wszystkie urządzenia zegarków mają wyświetlacze Retina.
Dobrym rozwiązaniem jest upewnienie się, że same obrazy są prawidłowym rozmiarem wyświetlacza zegarka. Unikaj używania niepoprawnie rozmiarów obrazów (szczególnie dużych) i skalowania, aby wyświetlić je na zegarku.
Możesz użyć rozmiarów zestawu watch kit (38mm i 42mm) na obrazie wykazu zasobów, aby określić różne obrazy dla każdego rozmiaru wyświetlacza.
Obrazy na zegarku
Najbardziej efektywnym sposobem wyświetlania obrazów jest uwzględnienie ich w projekcie aplikacji zegarka i wyświetlenie ich przy użyciu SetImage(string imageName)
metody .
Na przykład przykład zawiera kilka obrazów dodanych do katalogu zasobów w projekcie aplikacji zegarka:
Można je efektywnie załadować i wyświetlić na zegarku przy użyciu parametru SetImage
z nazwą ciągu:
myImageControl.SetImage("Whale");
myOtherImageControl.SetImage("Worry");
Obrazy tła
Ta sama logika dotyczy SetBackgroundImage (string imageName)
Button
klas , Group
i InterfaceController
. Najlepszą wydajność można osiągnąć, przechowując obrazy w samej aplikacji zegarka.
Obrazy w rozszerzeniu zegarka
Oprócz ładowania obrazów przechowywanych w samej aplikacji zegarka można wysyłać obrazy z pakietu rozszerzeń do aplikacji zegarka do wyświetlania (lub pobrać obrazy z lokalizacji zdalnej i wyświetlić te obrazy).
Aby załadować obrazy z rozszerzenia zegarka, utwórz UIImage
wystąpienia, a następnie wywołaj SetImage
je za pomocą UIImage
obiektu .
Na przykład przykład zawiera obraz o nazwie Bumblebee w projekcie rozszerzenia zegarka:
Następujący kod spowoduje:
- obraz ładowany do pamięci i
- wyświetlane na zegarku.
using (var image = UIImage.FromBundle ("Bumblebee")) {
myImageControl.SetImage (image);
}
Animacje
Aby animować zestaw obrazów, wszystkie powinny zaczynać się od tego samego prefiksu i mieć sufiks liczbowy.
Przykład zawiera serię ponumerowanych obrazów w projekcie aplikacji zegarka z prefiksem Bus :
Aby wyświetlić te obrazy jako animację, najpierw załaduj obraz przy użyciu SetImage
nazwy prefiksu, a następnie wywołaj metodę StartAnimating
:
animatedImage.SetImage ("Bus");
animatedImage.StartAnimating ();
Wywołaj StopAnimating
kontrolkę obrazu, aby zatrzymać pętlę animacji:
animatedImage.StopAnimating ();
Dodatek: Buforowanie obrazów (watchOS 1)
Ważne
aplikacje systemu watchOS 3 działają w całości na urządzeniu. Poniższe informacje są przeznaczone tylko dla aplikacji systemu watchOS 1.
Jeśli aplikacja wielokrotnie używa obrazu przechowywanego w rozszerzeniu (lub zostało pobrane), można buforować obraz w magazynie zegarka, aby zwiększyć wydajność kolejnych ekranów.
WKInterfaceDevice
Użyj metody sAddCachedImage
, aby przenieść obraz do zegarka, a następnie użyj SetImage
parametru z nazwą obrazu jako ciągu, aby go wyświetlić:
var device = WKInterfaceDevice.CurrentDevice;
using (var image = UIImage.FromBundle ("Bumblebee")) {
if (!device.AddCachedImage (image, "Bumblebee")) {
Console.WriteLine ("Image cache full.");
} else {
cachedImage.SetImage ("Bumblebee");
}
}
}
Możesz wykonać zapytanie dotyczące zawartości pamięci podręcznej obrazów w kodzie przy użyciu polecenia WKInterfaceDevice.CurrentDevice.WeakCachedImages
.
Zarządzanie pamięcią podręczną
Pamięć podręczna o rozmiarze około 20 MB. Jest ona przechowywana w aplikacjach ponownie i gdy wypełnia ją, twoim obowiązkiem jest wyczyszczenie plików przy użyciu metod RemoveCachedImage
lub RemoveAllCachedImages
na WKInterfaceDevice.CurrentDevice
obiekcie.