【iOS】StoryBordを使わない設定でアプリを作る方法【Objective-C】

2020年8月29日

iOSアプリを簡単につくれるStoryBord(ストーリーボード)ですが、UIやUXデザインの関係上、StoryBordでのアプリ作成が困難になる場合があります。

最初からStoryBordでは不可能なUIUXデザインになることを予見するのは難しいので、できれば先を見越してStoryBordを使わない方法でのアプリ作成を最初からしておきたいところですよね。

今回はXcodeからプロジェクトを作り、StoryBordを使わないでアプリを作成する方法ご紹介します。

StoryBordを使わず、AppDelegateでUIWindowを作成する

StoryBordを使わない設定にする方法は簡単です。
SingleViewAppを選択してプロジェクト作成した後、AppDelegate.mを開き以下の3行を加えるだけです。

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

    // 3行を加えるだけ
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    return YES;
}

とても簡単ですね!

iOS9(xcode7)などではMain.storybordが設定されている項目を未設定にすることも必要でしたが、iOS10(xcode8)では上記の3行を加えるだけでStoryBordを使わない設定が完了できます。

アプリの実装はStoryBordを使わず、ランチャースクリーンではStoryBordを使うのがおすすめ

アプリの実装ではStoryBordを使わないで作成するほうが、UIUXデザインの幅が広がるのでおすすめですが、Launchscreen(ランチャースクリーン)と呼ばれる、アプリ起動時に数秒表示される一枚の画像のような画面はStoryBordを使うと楽です。

もちろん、画像をiphon4~現在のiphoneまでのサイズ分を作成して、Assetsを用意しても変更は可能です。

Assetsを自前で作る方が楽だ!という方は、iphone7plusのサイズを作れば全てのサイズを作成してくれるサイトを使うのがおすすめです。
http://appicon.build/

Main.storybord、LaunchScreen.storybordは消さずに残しておこう

さて、不要となった初期で作成されるstorybord達ですが、こちらはできれば残しておきましょう。

不要なのに残して置くのも気持ち悪いかもしれませんが、初期設定でMain.storybordとLaunchScreen.storybordに色々な設定が紐づいていたりします。

こちらを消してしまうと、Main.storybordに紐づいた設定を変えても反映されない!なんてことがおきたりもします。

もちろん消しても設定することは可能ですが、余計な手順が増えるだけなので面倒です。

私のおすすめとしては初期の2つのstorybordは残しておいたほうがいいと思います。