0

iPhone 5 用のサイズと iPhone 4 用のサイズの 2 つのストーリーボードがあります。このデバイスにはすべて 6 つの IOS があります。だから私はIOSのバージョンをチェックするための私のコードを持っています...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{


    // 1
    UIStoryboard * mainStoryboard = nil ;
    if ( SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO ( @ "6.0" ) ) {
        mainStoryboard = [ UIStoryboard storyboardWithName : @ "iPhones6.0" bundle : nil ] ;
    } else {
        mainStoryboard = [ UIStoryboard storyboardWithName : @ "iPhones3-5" bundle : nil ] ;
    }

    // 2
    self.window = [ [ UIWindow alloc ] initWithFrame : [ [ UIScreen mainScreen ] bounds ] ] ;
    self.window.rootViewController = [ mainStoryboard instantiateInitialViewController ] ;
    [ self.window makeKeyAndVisible ] ;




    return YES;
}

iOS 6 の iPhone 4 と IOS 6 の iPhone を持っている場合、大きなサイズのディスプレイがあり、iPhone では機能しますが、iPhone 4 では機能しません。モデルのチェックを行うために、どのデバイスを使用したかを知るにはどうすればよいですか。

4

4 に答える 4

1

そもそも正しくチェックしていません。

UIScreenを使用して画面のサイズを取得し、使用されているデバイスを特定することもできます。また、 iOS 6 向けに開発している場合、必要なストーリーボードは 1 つだけで、コントローラーにAutolayoutオプションを使用して、インターフェイス ビルダーからNSLayoutContrainsを作成できます。

これは、各 iPhone に 2 つのストロイボードを用意するよりもはるかに簡単です。

于 2013-07-02T14:30:52.273 に答える