5

ユーティリティアプリテンプレートをベースにしたユニバーサルアプリを作成しています。ユニバーサルアプリを選択しましたが、MainView.xibとMainView〜iPad.xibは両方のデバイスタイプで正しく機能します。

iPad2では、FlipsideViewに切り替えると、プロジェクトに完全に適切なFlipsideView〜iPad.xibファイルがある場合でも、FlipsideView.xibが読み込まれます。デフォルトのxibは通常(iPhone)サイズで、iPadの左下隅に表示されます。

FlipsideView〜iPadxibを手動で作成する必要がありました。FlipsideView.xib接続と同じように表示されるので、私はxibがIBに適切に配線されていると思います。

過去数週間にわたって、私は同様の問題を抱えたかなりの数の投稿を読みました。このStack Overflowスレッドは最も明確に答えており、Appleのドキュメントへのリンクが含まれています。だから私はそれが他の人のために働き、文書化されていることを知っています。

このセクションのコードは、ストックユーティリティアプリテンプレートのshowInfo()メソッドと同じです。

(はい、UI_USER_INTERFACE_IDIOM()をチェックして〜iPadバージョンを手動でロードできることに気付きました。〜iPad修飾子を機能させる際に何が間違っているのかを理解しようとしています。)

私が欠けているアイデアはありますか?

あなたの助けをたくさんありがとう!

4

2 に答える 2

27

結局、私は解決策を見つけました。とても簡単です。xibには、〜iPadではなく〜ipad、〜iPhoneではなく〜iphoneという名前を付ける必要があります。悪いことは、それらに〜iPadという名前を付けると、すべてがシミュレーターで機能しますが、実際のデバイスでは機能しないことです。

于 2011-12-30T11:53:39.837 に答える
0

名前に基づいて自動的に行うことができ、心配はいりません。唯一の問題は、命名規則を切り替える必要があることです。MainView.xibがiPadxibになり、MainView〜iphone.xibがiPhonexibになります。そうすれば、それはあなたにとって完璧に機能するはずであり、alloc/init以外のことをする必要はありません。

このトピックに関する他の回答はここで確認できます:iOS:デバイス修飾子を使用してxibファイルをロードしますか?

于 2011-06-12T17:33:18.003 に答える