Allied ArchitectsAllied ArchitectsEngineer Blog

StoryBoardを使わずに、SwiftだけでUITabBarControllerを実装

2014/10/23 言語

こんにちは、システム部の姫井です。
「モニプラ」Facebookのサーバサイドの開発を担当しています。

業務は、PHPでしか開発していませんが、
個人ではObjective-CやRailsなんかでも開発しています。

 

はじめに

iPhoneアプリ作る時は、基本StoryBoard使って画面デザインや画面遷移を実装するのが主流ですが、
個人的にStoryBoardが苦手で、今まではStoryBoardは使わずに、コードだけで実装してきました。

最近やっとSwiftでも開発始めたので、SwiftでもStoryBoardを使わずに開発する内容について紹介していきたいと思います。

今回は、UITabControllerで、青色の画面と緑色の画面をタブで切り替える簡単なアプリの作成を紹介します。

プロジェクトを作成し、StoryBoardを削除

さっそく、プロジェクトを作っていきます。

今回使用するXcodeのバージョンは、「6.1」です。

まず、Xcodeを起動して、「Create a new Xcode project」でプロジェクトを作成します。
最初に選択するApplicationは何でもOKです。今回は、「Single View Application」を選択します。
(過去のxcodeのバージョンでは、「Empty Application」があったのですが、
xcode6から削除されてますね、StoryBoardを使えってことなんでしょうか。。)

スクリーンショット 2014-10-23 14.24.38

 

「Language」で「Swift」を選択すれば、Swiftのプロジェクトが作成されます。

スクリーンショット 2014-10-23 14.24.49

これで、プロジェクトの作成が完了です。

ここから、StoryBoardを使わないように設定します。
最初に作成されたStoryBoardを削除します。

スクリーンショット 2014-10-23 14.29.22

 

次に、info.plistの「Main storyboard file base name」を空欄にします。
スクリーンショット 2014-10-23 14.30.26

これでアプリ起動時に、StoryBoardが呼ばれなくなります。

 

SwiftだけでUITabBarControllerを実装

ここから、Swiftで実装していきます。

最初に、UITabBarControllerの実装に必要なファイルを用意します。
「New」→「File」から「Swift File」を選択し、以下のファイルを新規作成します。

  1. MainTabBarController.swift
  2. FirstViewController.swift
  3. SecondViewController.swift

では、FirstViewController.swiftから実装していきます。
FirstViewControllerではUIViewControllerを継承し、青色の画面を表示するだけの単純な処理を実装します。

同じように、SecondTabViewController.swiftを実装します。

次に、MainTabBarControllerを実装します。
MainTabBarControllerでは、作成したFirstViewControllerとSecondViewControllerをタブで切り替える処理を実装します。

最後に、AppDelegate.swiftにMainTabBarControllerの記述を追加し、
アプリ起動時に、MainTabBarControllerが起動するように指定します。

これで完成です。
Simulatorで起動してみます。

スクリーンショット 2014-10-23 17.04.19

 

UITabBarControllerが起動され、
青色の画面と緑色の画面がタブで切り替えるアプリができました。

 

まとめ

今回は、StoryBoardを使用せずに、SwiftだけでUITabBarControllerを実装する方法について紹介しました。

Objectiev-Cの時と実装する方法は同様で、AppDelegateで起動時に実行するファイルを指定し、
そのファイル内で画面遷移を指定すればOKです。

Objective-Cの経験ある人はすんなりSwiftに移行できると思います。
次回は、UINavigationControllerも使って、よりアプリっぽいものにしていく方法について紹介できたらと思います。

以上となりますが、アライドアーキテクツではエンジニアを随時募集しております。
少しでも興味ある方はぜひこちらの採用サイトまで。

  • Himei
  • WEBエンジニア
  • こんにちは、「モニプラ」Facebookの開発してます。 業務ではPHPでサーバサイドの開発がメインですが、個人ではiPhoneアプリの開発やRails使ったWEBアプリ開発をちょこちょこしてます。 宜しくお願いします。

Himeiの記事一覧へ

ページTOPへ