2011-08-10 7 views
3

私は、それぞれのビューFirstView.xibSecondView.xibFirstViewControllerSecondViewControllerでiPhoneアプリを持っています。iPhoneアプリをユニバーサルアプリに変換しますか?

今、このアプリはiPhoneとiPadの両方で動作させたいと思っています。 iPadのために私は、単一のThirdView-iPad.xibFirstview.xibSecondView.xibをマージする必要があります。

最高のアプローチは何ですか? iPad用に別のViewControllerクラスを作成する必要がありますか?FirstViewControllerSecondViewControllerとxibを1つだけ使用できますか?

これまでの研究では、単一のxibで複数のViewControllerを使用する方法はないと言います。これを行う最善の方法を教えてください。

おかげ

答えて

3

あなたはマゾヒズムにならない限り、単に新しいのViewControllerを作成するのがベストです。そのように再利用することは非常に難しいことです。ViewControllerでロジックを再利用する必要がある場合は、集約または継承を使用します。

私は通常、XYZViewControllerなどのベースViewControllerを作成し、すべてのiPhoneスペシャルとXYZViewController_iPad iPad用にXYZViewController_iPhoneを作成します。しかし、それらが全く異なる場合、私はそれらに固有の名前と独自のNIBとViewControllerを与えます。

5

あなたが「ユニバーサルターゲットへの移行」を使用することができ、それは全力を尽くしますXcode4を使用している場合、あなたはそれを持っていけない場合、私はあなたのXIBのうち、コントローラを維持することをお勧めします

http://xcodebook.com/2011/05/making-an-ios-target-universal/

を必要としていました。 xibファイルにはiphoneとipadのビューのみが含まれていますが、コントローラは同じことができます。あなたはrootviewcontrollerからあなたのロジックを制御することができます。あなたのプロジェクトに依存します。

+0

おかげで...私の問題は、私は1つのiPadのビューに2つのiPhoneビューをマージしなければならないことです。その場合、同じコントローラを使用することは可能でしょうか?はいの場合、どうですか? – Atif

+0

@Atifは全く別のビューがあることを意味します。そのため、別のコントローラを使用することができます。普遍的なプロジェクトを最初に作成し、あなたのアプリを展開しようとすると、あなたはあなたの可能性とあなたがより良くする必要があるものを見ることをお勧めします。それでもあなたは最初の「普遍的なターゲットへの移行」を使うことができます – Spring

1

plistファイルでUNIVARSALのApp

1)にiPhoneアプリを変換するには、次のルールがあるNSMainNibFile〜のiPad .... MainWindow_ipad(iPadの画面)を追加します。

2)例えばipadと& iPhone によれば、(iPhone /アプリ) に設定された目標ターゲットデバイスファミリーの別名称Xibs(iPhoneの&アプリ)

3)を実装し、フレームを設定

if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad) {

btnHme。フレーム= CGRectMake(971,6,32,32)。 //アプリ

}他 {

btnHme.frame = CGRectMake(438,6、32、32)。 // iphone

}

歓声

関連する問題