4

私はチュートリアルに取り組んでいて、何か面白いことが私の注意を引きました。シングルビューアプリケーションプロジェクトを作成したところ、2つの.xibファイルに気づきました。1つは、という名前ViewController_iPhone.xibで、もう1つは。という名前ViewController_iPad.xibです。私のプロジェクトでは、iPhoneとiPadで異なる.xibsが必要な場合は、iPhoneとiPadで使用ViewController.xibViewController~ipad.xibます。これは新しい命名規則である可能性があることは理解していますが、古いバージョンのiOSをターゲットにしている場合、この命名規則イベントを使用できますか?また、これはxCode4.6でも発生します

ありがとうございました。

4

1 に答える 1

5

iOS でユニバーサル アプリケーションに遭遇したり、デバイスに応じて .xib ファイルをロードしたりしたことがあると思います。どちらの場合でも、正しく動作させるために~ipad代わりに~iPadおよび~iphone代わりに 使用する必要があります。~iPhone

どちらもシミュレーターでは同じように機能しますが、デバイスでは前者が破棄されます。

iOS のサポート デバイス固有のリソースについては、Apple リファレンスからの抜粋を見つけてください。

iOS がデバイス固有のリソースをサポート

iOS 4.0 以降では、個々のリソース ファイルを特定の種類のデバイスでのみ使用できるようにマークすることができます。この機能により、ユニバーサル アプリケーション用に記述しなければならないコードが簡素化されます。iPhone 用のリソース ファイルの 1 つのバージョンと iPad 用の別のバージョンのファイルをロードするために別々のコード パスを作成するのではなく、バンドルのロード ルーチンに正しいファイルを選択させることができます。リソース ファイルに適切な名前を付けるだけです。

リソース ファイルを特定のデバイスに関連付けるには、そのファイル名にカスタム修飾子文字列を追加します。この修飾子文字列を含めると、次の形式のファイル名が生成されます。

.

文字列は、リソース ファイルの元の名前を表します。また、コードからファイルにアクセスするときに使用する名前も表します。同様に、文字列は、ファイルの種類を識別するために使用される標準のファイル名拡張子です。文字列は大文字と小文字が区別される文字列で、次のいずれかの値になります。

~ipad - The resource should be loaded on iPad devices only.

~iphone - The resource should be loaded on iPhone or iPod touch devices only.
于 2013-03-18T12:54:49.533 に答える