iPhone用のXibがあり、iPad用の同様のビューが必要ですが、iPadサイズのみです。
これを行う最善の方法は何ですか?両方のビューを同じ Xib に配置して、どちらを表示するかを指定できますか?
または、2 つの Xib ファイルと 2 つのクラスを作成する必要がありますか?
私は1クラスを使用することになりました。両方の XIB ファイルのファイル所有者をこの同じクラスに設定しました。
XIBファイルの名前を使用しました
だから私は2つのxibFiles、iPadXib.xibとiPhoneXib.xibを持っています
NSString *nibFileName = (iPadVersion) ? @"iPadXib" : @"iPhoneXib";
ViewControllerName *vc = [[ViewControllerName alloc] initWithNibName:nibFileName bundle:nil];
または、2 つの Xib ファイルと 2 つのクラスを作成する必要がありますか?
実際には、3 つのクラスと 2 つの xib を使用します。このような:
そして、2つのxib。これにより、柔軟性が大幅に向上します。MyClass に共通のロジックを保持し、iPhone および iPad バージョン用に他の 2 つをサブクラス化します。
iPhone と iPad の両方が必要な場合は、ユニバーサル アプリを作成します。XIB を 1 つだけ作成し、すべてのコントロールを 1 回だけ作成します。個別に行う必要はありません。フレームをコーディングで描画します。つまり、iphone と ipad の両方で別々のフレームを作成します。