*

iOSプログラミングのキモ(AppDelegate説明 iPhone5以降とiPhone4S以前を画面サイズで判別する )

公開日: : 最終更新日:2014/01/23 Apple, iOS, iPad, iPhone, IT, Objective-C, XCode

iPhone5以降 画面サイズが2パターン(iPhone6ではさらに増えるかも・・(^^;))になったため プログラムでも複数の画面に対応する必要が出てきました。画面のレイアウトはXCodeのインターフェイスビルダーを使うことで 異なる画面サイズの ストーリーボード もしくは XIBファイルで対応します。QTubeでは 以下のように画面の縦サイズを使って 使用するストーリーボードを使い分けています。

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    if(self.window.frame.size.height > 480)
        self.isRetina4 = YES;
    else
        self.isRetina4 = NO;

    storyboard_ = nil;
    if (self.isRetina4) {
        storyboard_ = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
    }else{
        storyboard_ = [UIStoryboard storyboardWithName:@"MainStoryboard_retina3" bundle:[NSBundle mainBundle]];
    }
    self.window.rootViewController = [storyboard_ instantiateInitialViewController];

画面のサイズは 1行目で得た UIWindowインスタンスのフレームサイズから得ることが出来ます(2行目) iPhone4S以前は画面の縦サイズが480ピクセルなので isRetina4変数をNOにセットし、480ピクセルより大きい場合は isRetina4変数はYESをセットします。isRetina4変数は 他のビューコントローラでも呼べるように外部参照出来るようになっています。8行目と10行目で 実際に読み込むストーリーボードを区別してインスタンス化しています。

最後に 最初の画面制御を担当する rootViewController を [storyboard_ instantiateInitialViewController] を使って取り出します。

画面のサイズ別の制御を ストーリーボード側に任せたことで プログラム自体はずいぶんスッキリした内容になりました。インターフェイスビルダーを上手く使って複数の画面に対応していきましょう。

関連記事

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その1)

FileQ iOS版がリリースされて、のんびりしたい気持ちもありますが、FileQ Android版

記事を読む

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その2)

先週に引き続き、今週も文字中心のエントリーです、今回は 下記3つのことを書いていきます。 M

記事を読む

iOSプログラミングのキモ

このブログでは、実際に弊社が公開しているアプリのソースコードを使って、iOSプログラミングのキモを解

記事を読む

iOSプログラミングのキモ(AppDelegate説明 NSUserDefaultsに設定情報を格納する )

QTubeは、YouTubeを閲覧するときに 国別コードを設定しています。国別コードは iOSに設定

記事を読む

iOSプログラミングのキモ(AppDelegate説明 デバッグをやりやすくするための工夫:NSSetUncaughtExceptionHandler )

デバッグはプログラミングを進めていく上で避ける事が出来ません。どうしてもバグは入ってきます。重要なの

記事を読む

iOSプログラミングのキモ(2:AppDelegate説明 )

実際の AppDelegate.h、AppDelegate.m のソースコードです AppDe

記事を読む

iOSプログラミングのキモ(2:ソースコード概説 )主要なObjective-Cソース・ファイル一覧

QTubeの主要Objective-Cのソース一覧です。 iOSでは アプリを作る場合 Objec

記事を読む

iOSプログラミングのキモ(デバッグをやりやすくするための工夫:Debug.hのインクルード )

前回 紹介した Debug.h は、使う際 以下のようにソースファイル(ここでは拡張子が m のもの

記事を読む

iOSプログラミングのキモ(MainViewController説明)

個別の画面のコードについて解説を進めていきます。最初は起動直後の画面であるMainViewContr

記事を読む

iOSプログラミングのキモ(2:ソースコード概説 )XCode

iOSプログラミングでは Appleが提供している XCodeという開発ツールを使います。

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

FileQ Hosting 月額99円 容量1GB


サイト管理 Mezzanine
Django上で動くCMS Mezzanine 用のモジュールを作ってみる その1

Django上で動くCMS Mezzanine上で動く、モジュールを作

ホーム Mezzanine
Django上で動くCMS Mezzanine を インストールする MacOSX Yesemite 編

Mezzanineは Django WEBフレームワーク上で動くCMS

EclipseにGWT(Google Web Toolkit) Plugin for Eclipseを入れようとしてハマった

最近PHPでちょっとした業務システムを作りました。業務システムの特徴と

ブログを半年やった成果を Google Analytics から眺める

今年の1月からブログを書き始め、そろそろ半年が経とうとしています。

母校で特別 講義をやってきました。

少し 間が空いてしまいました(^_^;) ちょっと前になりますが

→もっと見る

mautic is open source marketing automation
PAGE TOP ↑