2013-12-09 24 views
5

Xcode'un varsayılan Images.xcassets dosyası, bir portre iPhone uygulaması için 5 olası yuva olduğu LaunchImage için bir yuvaya sahip.Xcassets dosyasından başlatma görüntüsü yanlış boyutta var

documentation belgesine göre, xcassets dosyasından düzgün şekilde boyutlandırılmış bir görüntü elde etmek için [UIImage imageNamed:]'u kullanmanız yeterlidir.

Ancak, iPhone Retine (4 inç) simülatörü aşağıdaki kod çalıştıran:

UIImage *splashImage = [UIImage imageNamed:@"LaunchImage"]; 
NSLog(@"%@", NSStringFromCGSize(splashImage.size)); 

aşağıdaki çıktıyı üretir: ki yanlış boyut

{320, 480} 

.

Xcassets dosyasındaki eşlemelerin doğru olduğundan ve tüm boyutları onayladığından emin oldum. Ayrıca, xcassets dosyasındaki belirli bir görüntüden özel bir görüntü talep edemem gibi görünüyor, yani yapamam: [UIImage imageNamed:@"LaunchImageR4"].

Ve dosyalar bir xcassets dosyasına eklendiğinden, ham görüntü dosyalarına da erişemiyorum, bu nedenle özel bir çözüm sorunun dışında görünüyor.

Bu sorunu nasıl çözeceğimi bilen herhangi bir fikri olan var mı?

cevap

-1

Doğru başlatma görüntüsünün başlangıçta otomatik olarak yüklendiğine inanıyorum. Çalışma zamanı sırasında xcassets'dan çekilmek istenmez. Çalışma zamanında olduğu için, görüntü kataloğu sadece @ 2x postfix'i (cihaz boyutuna değil) kullanarak retina ve retina çekmeyecek şekilde ayarlandığından, hangi cihazın kullanıldığını kontrol etmeniz gerekir.

Hangi aygıtın kullanıldığını belirlemek ve doğru görüntüyü ada göre yüklemek için this post kullanabilirsiniz.

+0

Evet ancak ham başlatma görüntü dosyalarına erişimim yok. Benim lansman görüntü dosyalarına 'AppSplash.png' denir, ancak UIImage ile buna erişebilseydim, boş olurdu. Bu nedenle çözümünüz işe yaramaz. – Snowman

0

Başlangıç ​​görüntüleri, özel bir görüntü kümesi türüdür. Cihazınıza uygun doğru başlatma görüntüsünü elde etmek için [UIImage imageNamed:@"LaunchImage"] kullanamazsınız (örn. IPhone 3 ", 4" veya iPad + Retina).

+0

Cevabınızın ne söylediğini anlamıyorum. Bana sadece yapamayacağımı mı söylüyorsun? – Snowman

+0

'imageNamed kullanılmıyor:' Eğer 4'lü bir ekranda iseniz öğrenmek istiyorsanız o zaman sadece [UIScreen mainScreen] .bounds.size.height == 568.0f' olup olmadığını kontrol edin ve sonra manuel olarak seçmeniz gerekecek. doğru görüntü –

İlgili konular