ビューオブジェクト
ビューは、ウィンドウの矩形領域内で自分自身を描画し、指タップやマウスクリックなどのユーザーアクションに応答できるオブジェクトです。ビューは、自分自身の視覚的表現を描画し、周辺機器でのタッチやユーザーアクションに反応するサーフェスを提供します。すべてのビューがイベントを扱う訳ではなく、レスポンダオブジェクト以外のタイプ(つまり、イベントに応答できるオブジェクト) よりもイベントを処理できる可能性が高くなります。ビューは、また印刷用のコンテンツも提供します。ビューが有用であるため、ウィンドウのビュー階層に位置している必要があります。
ビューは、 Mac OSX では NSView、iOS では UIView から、直接または間接的に、継承します。これらのクラスは自分自身では、描画やイベント処理を実行しませんが、サブクラスのインタフェースとインフラを提供します。AppKit と UIKit のフレームワークは、ボタン、テーブルビュー、テキストフィールド、ツールバー、スライダーを含む、アプリケーションのウィンドウに表示されるほとんどすべてのビューを提供します。これらのビューは、Interface Builder のライブラリでプロジェクトに利用できます。また、UIView、NSView のサブクラスを作成し、自分自身を描画し、独特な方法でイベントを処理するカスタムビューを作成できます。
ビューのの中核プロパティ
UIKit と AppKit フレームワーク両方のビューは、一握りのプロパティで定義される、重要な特性を持っています。
- ビュー境界と配置。ビューのフレームと境界 はその境界や他のビューへの関係を定義します。フレームは、そのスーパービューの座標系内のビューの位置やサイズを指定します。ビューの境界は、ビューがそれ自身を描画する時に使用するローカル座標系を指定します。(UIKit のビューは、また、それらの矩形領域の中心の位置を特定するプロパティを持っています。)
- 他のビューとの関係。スーパービュー、サブビュー、ウィンドウ のプロパティは、そのウィンドウのビュー階層内のビューの場所を指定します。ユーザーインターフェイスを作成するには、最終的には、複合ビューを作成し、取り囲むビュー(superviews) へのビュー(サブビュー) を追加します。自動変更サイズ(autoresize) プロパティは、取り囲むビュー自身のサイズが変更されたとき、ビューのサブビューの位置と、自分自身のサイズを変更する方法を指定します。
ビューは、アニメーションの本質ができる
iOS と OS X の両方で、それぞれのビューは、レイヤー プロパティを介してアクセス可能な、コア・アニメーション・レイヤオブジェクト(CALayer) に裏打ちされています(可能性があります)。layer オブジェクトは、ビューの描画コンテンツをキャッシュし、コンテンツのレイアウトとレンダリングを支援し、そのコンテンツを合成してアニメ化できます。このようなビューのフレームとその opacity などのプロパティは、アニメ化が暗黙的に可能です。また、アプリケーションは明示的には、コア・アニメーション・フレームワークの機能を使用してビューをアニメ化できます。
OS X では、CALayer のサポートはオプションですが、iOS ではこのサポートは、各ビューのレンダリングの実装に組み込まれています。
前提条件の記事
(なし)関連記事
座標系ビュー階層
ドローイングモデル
アニメーション
モデル・ビュー・コントローラー
決定済みの議論
iOS用のビュープログラミングガイドサンプルコードプロジェクト
(なし)