2011-03-15 17 views
14

iPad için ayrı bir XIB'nin veya bir Evrensel uygulamada iPhone'un nasıl yükleneceğini belirlerken sorun yaşıyorum.iPad veya iPhone için ayrı bir XIB yükleme ile ilgili sorun

Xcode projesini Universal'a dönüştürmek ve ayrı Ana görünüm arabirimlerine sahip olmak için yeterince kolaydır.

Sorunum, ikincil görünümdür ve hem iPad hem de iPhone için ayrı arabirimlere sahip olmasını sağlar.

Lütfen bu konu hakkında çalıştığım günlerde başarıya ulaşmadan verebileceğiniz yardımları sunun. Şimdiden teşekkürler!

cevap

32

@ indragie'nin yanıtının çok yaygın olduğunu biliyorum, ancak aslında yapmanız gerekenden çok daha fazla çalışmaya neden olacak yaygın bir yanlış anlama.

xib dosyalarını belirli bir şekilde adlandırdığınız sürece, bunlar iPhone veya iPad için otomatik olarak seçilecektir. Başka bir yayında bu aynı sorunun cevabım göz atın:

iOS: Using device modifiers for loading xib files?

+0

Kesinlikle gördüğüm bu sorunu ele almanın en iyi yolu! –

+5

~ iPad'i kullanmadığınızdan emin olun ~ iPad. Daha sonra simülatör üzerinde çalışacak ancak cihaz üzerinde çalışacak. –

2

Sen uygulaması iPad veya iPhone/iPod touch çalışır durumda olup olmadığını kontrol etmek için UI_USER_INTERFACE_IDIOM() kullanabilirsiniz:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    // Running on iPad 
} else { 
    // Running on iPhone or iPod touch 
} 

fazla bilgi için ELVES dosyaları yüklenmesi hakkında Apple'ın Resource Programming Guide Nib Files okumaya devam edin. NSBundle kullanarak kodunuzun içinden bir NIB'yi programlı olarak nasıl yükleyeceğinizi gösteren Yükleme Uç Dosyalarını Programlı Olarak bölümüne özellikle göz atmak isteyebilirsiniz. Daha sonra, üzerinde çalıştığınız cihaza bağlı olarak doğru NIB'yi doğru şekilde yüklemek için yukarıdaki kodla birlikte kullanabilirsiniz.

+6

-1 iOS SDK, cihaza göre doğru xib dosyasını yükleyecek basit bir adlandırma kuralı sağlar. Kodunuzdaki ifade yapısı varsa bunu çoğaltmanıza gerek yoktur. Benim cevabımda aşağıda açıklarım. –

3

Sadece bir dosya adında Mainview eklemek ~ ipad.xib bu bir i.s.o. yük yapar Bir iPad üzerinde çalışırken MainView.xib ..

İlgili konular