2013-09-06 19 views
12

UITabBar'ım için resimler hazırlıyorum. Onları 60x60 boyutlarında yapıyorum çünkü retina ekranlarının kullanımı bu. Bununla birlikte, bu boyutu kullandığımda, çubukta çok büyük görünür, böylece yalnızca görüntünün bir kısmını görebilirsiniz. Bunu 30x30'a düşürdüğümde işe yarıyor ama bu boyutun retina olmayan ekranlar için olması gerekiyordu. 60x60 kullanırken neden düzgün görünmüyor?UITabBarItem Resim Boyutu

+5

emin 60x60 retina görüntüsü '2x' soneki @ içinde birlikte adlandırılır olun:

// Select an image named "my-image.png" UIImage *img = [UIImage imageNamed:@"my-image.png"]; // If the device this code is run on is a retina device, // then Xcode will automatically search for "[email protected]" and "[email protected]" // otherwise, it will use "my-image.png" 

Apple Geliştirici Site aracılığıyla konuyla ilgili daha fazla bilgi bulabilirsiniz: Burada

bir kod örneği dosya adı. – rmaddy

+0

Teşekkür ederim, bu işe yaradı! [IOS7 Tabbar simgeleri çok büyük] – user2397282

+0

olası kopyası (http://stackoverflow.com/questions/22166644/ios7-tabbar-icons-too-big) –

cevap

6

iOS'ta standart bir çözünürlük görüntüsü ararken yüksek çözünürlüklü bir görüntü sağladığınız için bu davranışı alıyordunuz.

iOS, erişim aygıtının çözünürlüğüne bağlı olarak sizin için uygun görüntü boyutunu otomatik olarak seçer. Böylece retina olmayan cihazlar için bir "standart çözünürlük" görüntüsü ve retina ekranlar için "yüksek çözünürlüklü" bir görüntü sağlamaktan sorumlu olacaksınız. iOS bunu yolu dosya adının sonuna "@ 2x" eklenecek, ancak böyle bir dosya uzantısı, önce:

Sonra
my-image.png  // for non-retina displays (Ex: 30x30 dpi) 
[email protected] // for retina displays (Ex: 60x60 dpi) 
[email protected] // for retina displays(plus editions) (Ex: 90x90 dpi) 

, XCode projesinde dosyalarını referans zaman, sen sadece dosya adının standart çözünürlüğe (ör. "my-image.png") ulaşması gerekir ve erişim cihazının bir retina ekranı varsa, XCode otomatik olarak dosyayı sizin için "@ 2x" son ekiyle seçecektir. Bu çok kullanışlıdır, çünkü geliştiricilerin cihazda bir retina ekranı olup olmadığını ve hangi görüntüyü sağladığımızı tespit etmek zorunda kalmamızı sağlar. Optimizing for High Resolution

İlgili konular