ログアウト

ビューコントローラーの部品

本ページではビューコントローラーの部品について解説していきます。

UIViewController

基本となるビューコントローラーです。このビューコントローラー上にさまざまな部品を配置していって、アプリの画面を作成していくことになります。

UINavigationController

画面の遷移状態を管理する機能を持ったビューコントローラーです。次の画面に進む、前の画面に戻るといった機能を提供します。

UINavigationControllerは画面そのものを持っていません。UIViewControllerの画面遷移を管理するのが役目になります。

 

・Storyboard上のUINavigationController

・UINavigationControllerは画面の遷移情報を管理する

 UINavigationControllerを利用した場合と利用しない場合とでは、画面の見た目が異なってきます。利用した場合はUIViewControllerの画面上部に、デフォルトではUINavigationControllerによるUINavigationBarが表示され、利用しない場合は表示されません。

 

・UINavigationControllerを利用した場合(左)と利用しない場合(右)の画面の違い

 

UITableViewController

 テーブルビューを表示する機能に特化したビューコントローラーです。画面内にテーブル以外の項目を表示したい場合は、UIViewControllerにUITableViewを組み合わせてテーブルを実現したほうがよいでしょう。

 しかし、セルの項目が固定である場合などには、このUITableViewControllerを利用したほうがStoryboard上でレイアウト作成が完結します。セルの項目が固定で、かつテーブル以外に表示する項目がない場合は、本部品を利用することで開発効率の向上が期待できます。

 Storyboard上のUITableViewControllerを見ると、テーブルのセル情報があらかじめ用意されています。また、ドキュメントアウトラインで確かめると、テーブルに必要なUITableView、UITableViewCellの情報があらかじめ配置されています。

 

・Storyboard上のUITableViewController

・UITableViewControllerのドキュメントアウトライン

 

UICollectionViewController

 コレクションビューを表示する機能に特化したビューコントローラーです。コレクションビューだけで画面が完結する場合に利用するとよいでしょう。

 Storyboard上で見ると、コレクションビューのセル情報が画面上部左にあらかじめ用意されています。ドキュメントアウトラインでは、コレクションビューに必要なUICollectionView、UICollectionViewCellの情報があらかじめ配置されていることがわかります。

 

Storyboard上のUICollectionViewController

 

・UICollectionViewControllerのドキュメントアウトライン

 

UITabBarController

 タブ機能を持ったビューコントローラーです。タブごとに独立した画面の状態を持つことができ、操作中にほかのタブに切り替えることで、さまざまな機能を並行して利用することができるようになります。

 UITabBarControllerは、画面そのものは持っていません。タブの画面の切り替えを管理するのが役目になります。タブをタップすることで画面の切り替え処理が発生します。

 

・Storyboard上のUITabBarController

 

UIPageViewController

 ページ切り替えに特化したビューコントローラーです。さまざまなページ切り替えのインタラクションを提供します。下記の例は、複数のビューコントローラを、書籍のページをめくるような効果で切り替えています。

 ここまで、Xcodeで使う主な部品について紹介してきました。

 標準でさまざまな部品が用意されていますので、組み合せるだけで効率的なアプリ作りができると思います。次のレクチャーから、本格的なアプリ作りにチャレンジしていきましょう。