6

重複の可能性:
iPhone 5 (ワイドスクリーン デバイス) を検出するには?

Xcodeを使用してアプリを作成しています。xcode 4.5 では、ストーリーボードが iPhone 5 の画面サイズに適応できることに気付きました。画面サイズが異なる 2 つの個別のストーリーボードを作成し、コントローラーを同じ .h ファイルにリンクする場合、どのストーリーボードをデバイスに応じてロードするかをプログラムに指示するにはどうすればよいですか?

例:iPadの場合、実行すると、適切なストーリーボードが自動的に選択されます

4

2 に答える 2

48

現在マークされている回答がうまくいかなかったので、現在のデバイスに 4 インチのディスプレイがあるかどうかを確認するために、以下の方法を作成しました。

- (BOOL)hasFourInchDisplay {
    return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568.0);
}

これは iPhone の 4 インチ ディスプレイの既知の高さであるため、適切な指標となります。

于 2012-09-21T05:26:33.220 に答える
5

このコードを初期化に追加します。

if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
     if([UIScreen mainScreen].bounds.size.height == 568.0)){
             //move to your iphone5 storyboard
             [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
  }
     else{
             //move to your iphone4s storyboard
             [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
  }
}

.h (ヘッダー ファイル) は初期化を保持します。括弧 {} の後、括弧内で IBOutlet、int、string などのデータ構造を初期化します。IBActionまたはなどのメソッドを外部に配置しますvoid

于 2012-09-20T17:55:45.323 に答える