ユニバーサルアプリでiPadまたはiPhone用に別のXIBをロードする方法を理解するのに問題があります。
Xcodeプロジェクトをユニバーサルに変換し、個別のメインビューインターフェイスを使用するのは簡単です。
私の問題は、セカンダリビューと、iPadとiPhoneの両方に別々のインターフェイスを持たせることです。
私はこの問題に何日も成功せずに取り組んできたので、あなたが与えることができる助けを提供してください。前もって感謝します!
ユニバーサルアプリでiPadまたはiPhone用に別のXIBをロードする方法を理解するのに問題があります。
Xcodeプロジェクトをユニバーサルに変換し、個別のメインビューインターフェイスを使用するのは簡単です。
私の問題は、セカンダリビューと、iPadとiPhoneの両方に別々のインターフェイスを持たせることです。
私はこの問題に何日も成功せずに取り組んできたので、あなたが与えることができる助けを提供してください。前もって感謝します!
@indragieの答えは非常に一般的なものであることを私は知っていますが、それはあなたが実際に行う必要があるよりもはるかに多くの仕事を引き起こす一般的な誤解です。
xibファイルに特定の名前を付ける限り、iPhoneまたはiPadのいずれかで自動的に選択されます。別の投稿でこの同じ問題に対する私の答えをチェックしてください:
MainView〜ipad.xibという名前のファイルを追加するだけで、iPadで実行しているときにこの1つのisoMainView.xibが読み込まれます。
UI_USER_INTERFACE_IDIOM()
アプリケーションがiPadまたはiPhone/iPodtouchのどちらで実行されているかを確認するために使用できます。
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// Running on iPad
} else {
// Running on iPhone or iPod touch
}
NIBファイルのロードの詳細については、Nibファイルに関するAppleのリソースプログラミングガイドを参照してください。を使用してコード内からNIBをプログラムでロードする方法を示す、プログラムによるNibファイルのロードのセクションを具体的に確認することをお勧めしますNSBundle
。次に、これを上記のコードと組み合わせて使用して、実行しているデバイスに応じて適切なNIBを正しくロードできます。