[XCODE] iPhoneの画面サイズに合わせて読み込むXib(Nib)を変える方法
こんにちは、@yoheiMuneです。
先日リリースした「EasyPost to Zaim」で実装している内容で、iPhoneの画面サイズに合わせて読み込むXibファイルを切り替える実装をブログに書きたいと思います。
4インチと3.5インチでそれぞれ画面を作る上で、Xibファイルとして以下の2点を用意しました。
「EasyPost to Zaim」では、3.5インチと4.0インチの違いは、プリセットできるカテゴリ/ジャンルの数が違います。それを上記のXibファイルの切替で実現しています。
少しでもご参考になれば幸いです。
最後までご覧頂きましてありがとうございました。
先日リリースした「EasyPost to Zaim」で実装している内容で、iPhoneの画面サイズに合わせて読み込むXibファイルを切り替える実装をブログに書きたいと思います。
iPhoneの画面サイズに合わせて、読み込むXibファイルを変更する
「EasyPost to Zaim」は、Zaimというオンライン家計簿に簡単に出費状況を投稿するアプリで、その投稿機能にこだわって作っています。 こだわりのポイントとしては、1つの画面で操作が完結して、より少ないタップで、より分かりやすいUIで投稿できるようにすることです。 そのため、iPhone5の4インチ端末と、iPhone4S以下の3.5インチ端末では、UIが一部異なる部分があります。4インチと3.5インチでそれぞれ画面を作る上で、Xibファイルとして以下の2点を用意しました。
- FirstViewController_3_5.xib
- FirstViewController_4_0.xib
// 投稿画面のViewControllerの.mファイルにて // Nibファイルからインスタンスを作る初期化メソッド - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { // スクリーンサイズを取得します CGRect screenSize = [UIScreen mainScreen].bounds; if (screenSize.size.height <= 480) { // 縦幅が小さい場合には、3.5インチ用のXibファイルを指定します screenType = SCREEN_TYPE_3_5; nibNameOrNil = @"FirstViewController_3_5"; } else { // 立て幅が長い場合には、4.0インチ用のXibファイルを指定します。 screenType = SCREEN_TYPE_4_0; nibNameOrNil = @"FirstViewController_4_0"; } // Xibファイル名を元に、インスタンスを生成します。 self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.title = @"toZaim"; } return self; }とこんな感じで、画面サイズに応じて読み込むXibファイルを切り替えることが出来ます。
「EasyPost to Zaim」では、3.5インチと4.0インチの違いは、プリセットできるカテゴリ/ジャンルの数が違います。それを上記のXibファイルの切替で実現しています。
最後に
簡単な内容でしたが、画面サイズに合わせたXibファイルの切替の実装内容を紹介させて頂きました。 画面サイズ以外でも色々と応用が出来るかも!少しでもご参考になれば幸いです。
最後までご覧頂きましてありがとうございました。