6章ビューコントローラ

iOSアプリのインタフェースは動的に変化しますが、これには理由があります。デスクトップ機ではアプリのウィンドウは拡大できますし、複数開くこともできますから、たくさんのインタフェースを表示する余裕があります。ところがiOSではひとつのウィンドウしかないひとつの画面に全部を埋め込む必要があり、iPhoneではその画面さえ開発者泣かせの小ささなのです。iOSが採用した解決法は、インタフェース画面を必要に応じて入れ替え、別のインタフェース画面にするというものです。ですから、インタフェースを表示する領域全体が——つまり、多くの場合は画面の内容全部が——ユーザーにそれとわかる形で素早く入れ替わらなければならないのです。ビューが入れ替わる際には、変化を強調してわかりやすくするためにアニメーションが多用されます。

入れ替えの仕事はUIViewControllerのインスタンスであるビューコントローラの担当です。ところが実際には、たいていのビューコントローラはUIViewControllerのサブクラスのインスタンスです。クラスUIViewControllerはサブクラスを作成して使用するように設計されています。変更のないそのままのUIViewControllerのオブジェクトを使うことは滅多にないでしょう。独自のUIViewControllerサブクラスを作成するか、UINavigationControllerやUITabBarControllerといった、既製のUIViewControllerサブクラスを使うことになります。一方、UINavigationControllerやUITabBarControllerといった既製のUIViewControllerサブクラスのサブクラスを作成することは普通ありません。あるとすれば、解説文書でサブクラスを作るよう指示されている場合だけです。既製のUIViewControllerサブクラスをそのまま使うか、UIViewControllerのサブクラスを自分で作るかのどちらかです(主な例外はUITableViewControllerで、このUIViewControllerサブクラスはほとんどいつもサブクラスを作成して使用します。8章で説明します)。 ...

Get 詳解 iOS SDK 第4版 ―ワンランク上のiPhone/iPadプログラミング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.