2章描画

UIButtonやUITextFieldなど、UIViewのサブクラスの多くは、自分自身をどう描画するかを知っています。しかし、開発者は遅かれ早かれ、自分で何かを描画したいと思うようになるでしょう。UIImageViewのようなクラスは静的な画像を表示します。コードで描画すれば、そうした画像を動的に生成することもできます。UIViewは、自分自身ではほとんどあるいはまったく描画しないため、開発者は自分で外観を描画することができます。

描画は難しくはありませんが、とても大きなトピックです。この章では、まず描画の基本原則になじんでもらうようにします。そうすれば、詳しい内容が知りたくなったときにAppleのドキュメントを参照し、内容を理解できるでしょう。

2.1 UIImageとUIImageView

UIKitの基本的な汎用画像クラスはUIImageクラスです。UIImageはディスクからファイルを読み込めるため、画像を動的に生成する必要がなく、かつアプリケーション実行前にすでに作成済みの画像があれば、単にアプリケーションのバンドルにリソースとして画像ファイルを追加するだけで描画は実質的にほぼ完了です。システムは、TIFFやJPEG、GIF、PNGなどの標準的な画像ファイル形式を扱うことができます。このほか、ダウンロードしてからUIImageに変換するなど、他の方法で画像データを取得することもできます。反対に画像を自分で描画し、それを画面に表示したり、ディスクに保存したりすることもできます(画像ファイルの出力については23章で説明します)。

もっとも単純なケースでは、アプリケーションバンドル内の画像ファイルは、UIImageのクラスメソッドimageNamed:を使って取得できます。このメソッドは指定された名前(ファイル拡張子も含む)の画像ファイルをアプリケーションバンドルのトップレベルから探し出し、UIImageインスタンスとして読み出します。この方法の良いところは、メモリ管理が自動的になされることです。画像データはメモリにキャッシュされるため、後で ...

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.