2016-08-01 3 views
0

私はiPad固有のアプリケーションを持っています。私はiPhoneでも同じことをしたい。私のアプリは、多くの自動レイアウト制約があるサイズクラス "wRegular hRegular"を使ったxibを持っていました。私はこれを誰かのサイズクラスに変換したい。 自動レイアウトを使用するか、iPhone専用の別のxibファイルを作成する方法は2つあります。 別々のxibファイルと一緒に行きたいんだけど、このファイルをXCode 7で作るには? これはどのように機能しますか?ipadのための既存のものからiphoneのための別のxibを作る方法

+3

[iPadまたはiPhone用の別のXIBをロードする際のトラブル](http://stackoverflow.com/questions/5306346/trouble-with-loading-a-separate-xib-for-ipad-or-iphone) )または[http://stackoverflow.com/questions/13496218/xib-for-iphone-and-ipad](http://stackoverflow.com/questions/13496218/xib-for-iphone-and-ipad) – Lion

答えて

0

ちょうどあなたがのUIViewControllerを与え、ロードするために好きな名前を持つ新しいXIBファイルがViewControllerオーバーライドでは、次のコード

ViewControllerName *vc = [[ViewControllerName alloc] initWithNibName:@"" bundle:nil]; 

を使用して作成 - (ID)initWithNibName:(NSStringの*)nibNameOrNilバンドル:(NSBundle *)をデバイスをチェックするnibBundleOrNil方法は、iPhoneやiPadは、これはあなたのデバイスの種類に応じて、あなたのXIBを呼び出します

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    NSString * nibNameOrNil; 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){ 
     // iPad 
     nibNameOrNil = @“iPad_XIB_NAME” 
    } else { 
     // iPhone 
    } 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) 
    { 
     // Custom initialization 
    } 
    return self; 
} 

次のコードを使用しています。

関連する問題