Aracılığıyla paylaş


Xamarin'de watchOS Görüntü Denetimleri

watchOS, görüntüleri ve basit animasyonları görüntülemek için bir WKInterfaceImage denetim sağlar. Bazı denetimlerin arka plan görüntüsü de olabilir (düğmeler, gruplar ve arabirim denetleyicileri gibi).

Resmi gösteren Apple Watch Basit animasyonlu Apple Watch

Watch Kit uygulamalarına görüntü eklemek için varlık kataloğu görüntülerini kullanın. Yalnızca @2x sürümleri gereklidir, çünkü tüm saat cihazlarında Retina ekranlar vardır.

Tüm saat cihazlarında Retina ekranlar olduğundan yalnızca 2x sürüm gereklidir

Görüntülerin saat ekranı için doğru boyutta olduğundan emin olmak iyi bir uygulamadır. Yanlış boyutlandırılmış görüntüler (özellikle büyük resimler) kullanmaktan ve bunları saat üzerinde görüntülemek için ölçeklendirmekten kaçının .

Bir varlık kataloğu görüntüsünde İzleme Seti boyutlarını (38mm ve 42mm) kullanarak her görüntü boyutu için farklı görüntüler belirtebilirsiniz.

Bir varlık kataloğu görüntüsünde 38mm ve 42mm'lik Watch Kit boyutlarını kullanarak her görüntü boyutu için farklı görüntüler belirtebilirsiniz

Watch'ta görüntüler

Görüntüleri görüntülemenin en verimli yolu, bunları izleme uygulaması projesine dahil etmek ve yöntemini kullanarak görüntülemektirSetImage(string imageName).

Örneğin, örnek, izleme uygulaması projesindeki bir varlık kataloğuna eklenen birkaç görüntüye sahiptir:

WatchKitCatalog örneğinde, izleme uygulaması projesinde varlık kataloğuna eklenen birkaç görüntü vardır

Bunlar, dize adı parametresi kullanılarak saat SetImage üzerinde verimli bir şekilde yüklenebilir ve görüntülenebilir:

myImageControl.SetImage("Whale");
myOtherImageControl.SetImage("Worry");

Arka Plan Resimleri

Aynı mantık , ve sınıflarında Buttoniçin de geçerlidirSetBackgroundImage (string imageName). GroupInterfaceController En iyi performans, görüntülerin saat uygulamasının kendisinde depolanmasıyla elde edilir.

watch uzantısındaki görüntüler

İzleme uygulamasında depolanan görüntüleri yüklemeye ek olarak, uzantı paketinden görüntü için saat uygulamasına görüntü gönderebilirsiniz (veya uzak bir konumdan görüntü indirebilir ve bunları görüntüleyebilirsiniz).

İzleme uzantısından görüntü yüklemek için örnekler oluşturun UIImage ve nesnesiyle çağrısı SetImage yapın UIImage .

Örneğin, örnek saat uzantısı projesinde Bumblebee adlı bir görüntüye sahiptir:

WatchKitCatalog örneği, saat uzantısı projesinde Bumblebee adlı bir görüntüye sahiptir

Aşağıdaki kod şu şekilde sonuçlanır:

  • belleğe yüklenen görüntü ve
  • saat üzerinde görüntülenir.
using (var image = UIImage.FromBundle ("Bumblebee")) {
    myImageControl.SetImage (image);
}

Animasyonlar

Bir görüntü kümesine animasyon eklemek için, bunların tümü aynı ön ekle başlamalı ve sayısal bir son eke sahip olmalıdır.

Örnekte, izleme uygulaması projesinde Bus ön ekiyle bir dizi numaralandırılmış görüntü vardır :

WatchKitCatalog örneği, Izleme uygulaması projesinde Bus ön ekiyle bir dizi numaralandırılmış görüntüye sahiptir

Bu görüntüleri animasyon olarak görüntülemek için, önce ön ek adıyla kullanarak SetImage görüntüyü yükleyin ve çağrısı yapın StartAnimating:

animatedImage.SetImage ("Bus");
animatedImage.StartAnimating ();

Animasyon döngüsünü durdurmak için görüntü denetiminde çağrısı StopAnimating yapın:

animatedImage.StopAnimating ();

Ek: Görüntüleri Önbelleğe Alma (watchOS 1)

Önemli

watchOS 3 uygulamaları tamamen cihazda çalışır. Aşağıdaki bilgiler yalnızca watchOS 1 uygulamalarına yöneliktir.

Uygulama, uzantıda depolanan (veya indirilmiş) bir görüntüyü tekrar tekrar kullanıyorsa, sonraki ekranların performansını artırmak için görüntüyü saatin depolama alanında önbelleğe almak mümkündür.

WKInterfaceDeviceAddCachedImage S yöntemini kullanarak görüntüyü saate aktarın ve görüntü adı parametresini dize olarak kullanarak SetImage görüntüleyin:

var device = WKInterfaceDevice.CurrentDevice;
using (var image = UIImage.FromBundle ("Bumblebee")) {
    if (!device.AddCachedImage (image, "Bumblebee")) {
            Console.WriteLine ("Image cache full.");
        } else {
            cachedImage.SetImage ("Bumblebee");
        }
    }
}

kullanarak WKInterfaceDevice.CurrentDevice.WeakCachedImageskoddaki görüntü önbelleğinin içeriğini sorgulayabilirsiniz.

Önbelleği Yönetme

Önbelleğin boyutu yaklaşık 20 MB'tır. Uygulama yeniden başlatmalarında tutulur ve dolduğunda nesnedeki WKInterfaceDevice.CurrentDevice veya yöntemleri kullanarak RemoveCachedImage dosyaları RemoveAllCachedImages temizlemek sizin sorumluluğunuzdadır.