Xamarin.iOS'ta Alternatif Uygulama Simgeleri
Bu makale, Xamarin.iOS'ta alternatif uygulama simgelerini kullanmayı kapsar.
Apple, iOS 10.3'e bir uygulamanın simgesini yönetmesine olanak sağlayan çeşitli geliştirmeler ekledi:
ApplicationIconBadgeNumber
- Springboard'daki uygulama simgesinin rozetini alır veya ayarlar.SupportsAlternateIcons
- Uygulamanın alternatif bir simge kümesi varsatrue
.AlternateIconName
- Seçili durumdaki alternatif simgenin adını veyanull
birincil simgeyi kullanıyorsanız döndürür.SetAlternameIconName
- Uygulamanın simgesini verilen alternatif simgeye değiştirmek için bu yöntemi kullanın.
Xamarin.iOS Projesine Alternatif Simgeler Ekleme
Bir uygulamanın alternatif bir simgeye geçmesine izin vermek için Xamarin.iOS uygulama projesine bir simge görüntüsü koleksiyonu eklenmesi gerekir. Bu görüntüler tipik Assets.xcassets
yöntem kullanılarak projeye eklenemez, kaynaklar klasörüne doğrudan eklenmelidir.
Aşağıdakileri yapın:
Bir klasördeki gerekli simge görüntülerini seçin, tümünü seçin ve bunları Çözüm Gezgini Kaynaklarklasörüne sürükleyin:
İstendiğinde Kopyala'yı seçin, Seçili tüm dosyalar için aynı eylemi kullanın ve Tamam düğmesine tıklayın:
Tamamlandığında Kaynaklar klasörü aşağıdaki gibi görünmelidir:
Info.plist Dosyasını Değiştirme
Kaynaklar klasörüne gerekli görüntüler eklendiğinde CFBundleAlternateIconsanahtarının projenin Info.plist dosyasına eklenmesi gerekir. Bu anahtar, yeni simgenin adını ve onu oluşturan görüntüleri tanımlar.
Aşağıdakileri yapın:
- Çözüm Gezgini Info.plist dosyasına çift tıklayarak dosyayı düzenlemek üzere açın.
- Kaynak görünümüne geçin.
- Paket simgeleri anahtarı ekleyin ve Tür değerini Sözlük olarak bırakın.
- Bir
CFBundleAlternateIcons
anahtar ekleyin ve Tür değerini Sözlük olarak ayarlayın. - Bir
AppIcon2
anahtar ekleyin ve Tür değerini Sözlük olarak ayarlayın. Bu, yeni alternatif uygulama simge kümesinin adı olacaktır. - Bir
CFBundleIconFiles
anahtar ekleyin ve Tür'leriDizi olarak ayarlayın - Uzantıyı
CFBundleIconFiles
ve@2x
,@3x
vb. soneklerini (örnek100_icon
) dışarıda bırakan her simge dosyası için diziye yeni bir dize ekleyin. Alternatif simge kümesini oluşturan her dosya için bu adımı yineleyin. - Sözlüğe bir
UIPrerenderedIcon
anahtar ekleyin, Türdeğerini Boole, değeri hayır olarak ayarlayın.AppIcon2
- Dosyadaki değişiklikleri kaydedin.
Sonuçta elde edilen Info.plist dosyası tamamlandığında aşağıdaki gibi görünmelidir:
Alternatif olarak, bir metin düzenleyicisinde açılırsa şöyle de olur:
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AppIcon2</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>100_icon</string>
<string>114_icon</string>
<string>120_icon</string>
<string>144_icon</string>
<string>152_icon</string>
<string>167_icon</string>
<string>180_icon</string>
<string>29_icon</string>
<string>40_icon</string>
<string>50_icon</string>
<string>512_icon</string>
<string>57_icon</string>
<string>58_icon</string>
<string>72_icon</string>
<string>76_icon</string>
<string>80_icon</string>
<string>87_icon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</dict>
Uygulamanın Simgesini Yönetme
Xamarin.iOS projesine eklenen simge görüntüleri ve Info.plist dosyası doğru yapılandırıldığında, geliştirici uygulamanın simgesini denetlemek için iOS 10.3'e eklenen birçok yeni özelliklerden birini kullanabilir.
SupportsAlternateIcons
sınıfının özelliğiUIApplication
, geliştiricinin bir uygulamanın alternatif simgeleri desteklenip desteklemediğini görmesini sağlar. Örneğin:
// Can the app select a different icon?
PrimaryIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
AlternateIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
ApplicationIconBadgeNumber
sınıfının özelliğiUIApplication
, geliştiricinin Springboard'da uygulama simgesinin geçerli rozet numarasını almasına veya ayarlamasına olanak tanır. Varsayılan değer sıfırdır (0). Örneğin:
// Set the badge number to 1
UIApplication.SharedApplication.ApplicationIconBadgeNumber = 1;
AlternateIconName
sınıfının özelliğiUIApplication
, geliştiricinin seçili durumdaki alternatif uygulama simgesinin adını almasına izin verir veya uygulama Birincil Simge kullanıyorsa döndürürnull
. Örneğin:
// Get the name of the currently selected alternate
// icon set
var name = UIApplication.SharedApplication.AlternateIconName;
if (name != null ) {
// Do something with the name
}
SetAlternameIconName
sınıfının özelliği, geliştiricinin UIApplication
uygulama simgesini değiştirmesine olanak tanır. Seçmek veya null
birincil simgeye dönmek için simgenin adını geçirin. Örneğin:
partial void UsePrimaryIcon (Foundation.NSObject sender)
{
UIApplication.SharedApplication.SetAlternateIconName (null, (err) => {
Console.WriteLine ("Set Primary Icon: {0}", err);
});
}
partial void UseAlternateIcon (Foundation.NSObject sender)
{
UIApplication.SharedApplication.SetAlternateIconName ("AppIcon2", (err) => {
Console.WriteLine ("Set Alternate Icon: {0}", err);
});
}
Uygulama çalıştırıldığında ve kullanıcı alternatif bir simge seçtiğinde, aşağıdakine benzer bir uyarı görüntülenir:
Kullanıcı birincil simgeye geri dönerse, aşağıdakine benzer bir uyarı görüntülenir:
Özet
Bu makalede, Xamarin.iOS projesine alternatif uygulama simgeleri ekleme ve bunları uygulamanın içinde kullanma konusu ele alınmıştır.