2014年3月8日土曜日

iphoneアプリ開発 4インチ対応リベンジ

おはようございます。

先日失敗した4インチのアップロードのリベンジです。

どうやら2パターン方法があるようです。

パターン①

プログラム上で、3.5インチと4インチの処理を書き
位置を指定する。

パターン②

メインストーリーボードを2つ作り、
3.5インチ用とと4インチ用を分ける。


私の場合はもちろん後者を選びました。

手順①
まず、プロジェクトを右クリックし、new fileを選択➡story boardを選択➡名前を入力
すると下記のように2個目ができました。






















手順②
3.5インチ用とと4インチ用でstory boardを判断するよう、
下記を記述。

※ここで一点注意名前は.story boardの前の部分です。
 つけていると、no such nameでエラーになります。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    UIStoryboard *storyboard;   // StoryBoardの型宣言
    NSString * storyBoardName;  // StoryBoardの名称設定用
    
    // 機種の取得
    NSString *modelname = [ [ UIDevice currentDevice] model];
    
    // iPadかどうか判断する
    if ( ![modelname hasPrefix:@"iPad"] ) {
        
        // Windowスクリーンのサイズを取得
        CGRect r = [[UIScreen mainScreen] bounds];
        // 縦の長さが480の場合、古いiPhoneだと判定
        if(r.size.height == 480){
            NSLog(@"Old iPhone");
            storyBoardName = @"MainStoryboard2";
        }else{
            NSLog(@"New iPhone");
            storyBoardName =@"MainStoryboard";
        }
    }else{
        NSLog(@"iPad");
        storyBoardName =@"MainStoryboard2";
    }
    // StoryBoardのインスタンス化
    storyboard = [UIStoryboard storyboardWithName:storyBoardName bundle:nil];
    
    // 画面の生成
    UIViewController *mainViewController = [storyboard instantiateInitialViewController];
    
    // ルートウィンドウにひっつける
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.rootViewController = mainViewController;
    [self.window makeKeyAndVisible];
    
    return YES;

}


手順③
あとは、それぞれのアイコンとスタートアップ画像を指定して完了!

再度審査にまわしました。

今度こそ通ってくれ!

今日はここまで








0 件のコメント:

コメントを投稿