0

iPhone と iPad 向けのプロジェクトを開始しています...簡単で、「ユニバーサル」プロジェクトを作成できると言ってください..そうです。しかし、「ばかげた」問題について「ばかげた」質問があります。ユニバーサル プロジェクトでは、クラス用に 2 つの .xib (iPhone と iPad) があり、コード内でどちらを使用しているかを確認します。

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
     // The device is an iPad running iPhone 3.2 or later.
}
else
{
     // The device is an iPhone or iPod touch.
}

わかった?

しかし、iPad の 1 つのビューで、iPhone が一度に表示できる多くのビューを表示できることをご存知でしょう。例では、クラスを含む 2 つのビューがあります。

FirstView.h-FirstView.m-FirstView_iPad.xib-FirstView_iPhone.xib

SecondView.h-SecondView.m-SecondView_iPad.xib-SecondView_iPhone.xib

iPhoneの場合は問題ありませんが、iPadの場合は?iPad のビューでは、最初と 2 番目のビュー コントローラーを配置できますが、2 つのビュー コントローラーに対して 2 つの異なるクラスがある場合、整理するのは簡単ではありません...これに対する解決策はありますか? それとも、最善の解決策は、iPhone と iPad の 2 つの別々のプロジェクトをクレートすることですか? ありがとう

4

1 に答える 1

0

ええ、私は常に1つのtheViewController.hと1つのtheViewController.mを使用し、iPhone用のtheViewController.xibとiPad専用の別のxibを持っています。iPad に theViewController~ipad.xib で終わる名前を付けると、OS は自動的に XIB を認識します。インスペクター領域の Interface builder の theViewController~ipad.xib のクラスを iphone xib と同じクラスに設定する必要があります。つまり、クラスは theViewController と呼ばれ、. h と .m また、ビューをプッシュするときに iPad xib に ~ipad.xib で終わる名前を付けることの素晴らしい点は、OS が ~ipad.xib 拡張子を認識し、それに応じて正しいビューをプッシュするため、プッシュする前に idom をチェックする必要がないことです。デバイス上で..うまくいけば、これはあなたの役に立ちます!

于 2012-12-24T00:55:04.147 に答える