デバイス固有の xib を作成するにはどうすればよいですか? ユニバーサルな iPhone 用のファイルを作成しましたが、別のxib ファイルを使用するにはどうすればよいですか?
3 に答える
注:iOS用のユニバーサルアプリケーションを開発している場合は、デバイス固有の命名規則を使用して、基盤となるデバイスの正しいnibファイルを自動的にロードできます。nibファイルに名前を付ける方法の詳細については、「 iOSがデバイス固有のリソースをサポートする」を参照してください。</p>
「iOSはデバイス固有のリソースをサポートします」ドキュメントでは、次のように述べています。
リソースファイルを特定のデバイスに関連付けるには、そのファイル名にカスタム修飾子文字列を追加します。この修飾子文字列を含めると、次の形式のファイル名が生成されます。
ベース名-device.filename_extension
文字列は、リソースファイルの元の名前を表します。また、コードからファイルにアクセスするときに使用する名前も表します。同様に、文字列はファイルのタイプを識別するために使用される標準のファイル名拡張子です。文字列は大文字と小文字を区別する文字列であり、次のいずれかの値になります。
- ipad-リソースはiPadデバイスにのみロードする必要があります。
- iphone-リソースはiPhoneまたはiPodtouchデバイスにのみロードする必要があります。デバイス修飾子は、任意のタイプのリソースファイルに適用できます。
したがって、個別の.xibファイルが必要な場合は、「MyView-ipad.xib」と呼ばれるiPadxibと「MyView-iphone.xib」と呼ばれるiPhonexibを含めることになります。
これらのファイルをプロジェクトに含めたら、これを呼び出すと次のようになります。
UIViewController *someViewController = [[someViewController alloc] initWithNibName:@"MyView" bundle:nil];
アプリケーションが実行されているデバイスに応じて、正しいxibファイルがロードされます。
お役に立てれば!
これは、新しいプロジェクトを作成するときのデフォルト設定です。具体的な例として、iPhone と iPad 用の空のプロジェクトを作成して掘り下げます。
プロジェクトをすでに iPhone プロジェクトとして作成している場合は、それをユニバーサル アプリに変更する必要があります。