2012-03-12 14 views
1

私は基本的には、iPhone用のビューとiPads用のビューが必要です。しかし、同じデバイスであるため、それぞれ同じビューコントローラを使用したいと思っています。2つのXIBを1つのViewControllerに接続する

普遍的なアプリケーションで、普遍的なプロジェクトのデフォルトビューにはiPhone用のメインビューとiPadsのメインビューが含まれているので、これを行うことができます。しかし、それらは自動的に実装されるので、私はこれを複製する方法を知らない。

この質問のjistは:どのように2つのxibが1つのviewcontrollerに接続されていますか?

おかげで、コード内

  • ジェイク
+0

2つの異なるxibファイルを作成しましたか?/ .. 2つのビューで正確にはどういう意味ですか?説明できます – Shubhank

+0

問題ありません。私は同じviewcontrollersに2つのビュー(xibs)を接続したい – JTApps

答えて

9

..あなたは多くの新しいビューはこの

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
{ 
      self.MainView = [[[YOurViewController alloc] initWithNibName:@"YOurViewController_iPad" bundle:nil]autorelease]; 

} 
else 
{ 
    self.MainView = [[[YOurViewController alloc] initWithNibName:@"YOurViewController_iPhone" bundle:nil]autorelease]; 
} 

よう..doどこでもあなたはペン先の名前を交換する必要がありますし、あなたとクラス名..

上記... 1つより重要なステップは、各XIBファイル ..click ファイルの所有者 ..上で、私に* dentityインスペクタ *(右上のアイコン)...必ずそれがであることを確認に行くことですクラスYOURViewController

+0

私はあなたが "あなたがたくさんの新しいビュー"を言ったことを知っていますが、私はちょっと混乱しています。たとえば、2つのビューに関連付けられたビュー・コントローラーに入りますか? – JTApps

0

最初にビューをロードするときに、どのデバイスであるかを確認する必要があります。 iPhoneの場合はxib1、それ以外の場合はxib2です。 xib自体をロードする方法を参照してください。そのwasy。あなたはUIViewControllerでビューを変更したい場合は、単にこれだけのコードを使用します。

NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"xib2" owner:self options:nil]; 
UIView *aView = [nibObjs objectAtIndex:0]; 
self.view = aView; 
0

コードから:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){ 

videosController = [[SoftLensAdvanceSearch alloc] initWithNibName:@"VideosController_ipad" bundle:nil]; 
} 
else{//iphone 
videosController = [[SoftLensAdvanceSearch alloc] initWithNibName:@"VideosController" bundle:nil]; 
} 

IB

から "XIB" ファイルの2つの異なるバージョンを作成します。 "ファイル名"(xcode 4.3+のプロパティウィンドウの最初のグループ)を指定します。つまり、iphoneの場合はiphoneファイル名を、ipadの場合はipadファイル名を追加します。

0

ダンテは私がこの問題を解決しました。 "それ以上...もう一つ重要なステップは、各xibファイルに入ることです。File Owner(左の列)とi * dentity inspector *(右上のアイコン)をクリックします。クラスYOrViewControllerのです "

しかし、私はあなたのすべてのボタンを1つのNibにセットするように追加します。それから、助手の視点と同じように2番目に接続しないでください。代わりに、左の列のFile Ownerを右クリックすると、新しいNibのオブジェクトに接続できるように、ボタンとアウトレットのテーブル全体が表示されます。

これが役に立ちます。

関連する問題