Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

< 前ページ次ページ > 目次を隠す

ユーザインターフェイス要素とInterface Builder

Interface Builderは、ユーザインターフェイスの設計と、アプリケーションの各部分との関連付けを支援するアプリケーションです。Interface Builderには、UI設計のためのドラッグ&ドロップインターフェイスや、設計内で各種のオブジェクトのプロパティの表示と変更を行うためのインスペクタのほか、それらの間の接続機能が含まれています。

このセクションの内容:

nibファイルとは?
Cocoaにおけるウインドウとメニュー


nibファイルとは?

グラフィカルユーザインターフェイス付きのCocoaアプリケーションにはすべて、少なくとも1つのnibファイルがあります。メインのnibファイルは、アプリケーションの起動時に自動的に読み込まれます。このnibファイルには、メニューバーと、一般には少なくとも1つのウインドウと各種のオブジェクトが含まれています。それ以外のnibファイルを持つこともできます。各nibファイルには以下の要素が含まれています。

Cocoaにおけるウインドウとメニュー

ウインドウにはさまざまな性質があります。ウインドウは、オンスクリーンまたはオフスクリーンになることがあります。オンスクリーンウインドウは、ウインドウサーバが管理する階層で、スクリーン上で「レイヤ化」されます。典型的なCocoaウインドウには、タイトルバー、コンテンツ領域、いくつかのコントロールオブジェクトが含まれています。

キーウインドウとメインウインドウ

オンスクリーンウインドウはステータスを持つことがあります。すなわち、キーまたはメインです。キーウインドウはアプリケーションのキー押下に応答し、メニューとパネルからのメッセージを第一に受信するウインドウです。通常、ウインドウはユーザがクリックするとキーウインドウになります。各アプリケーションは、1つのキーウインドウしか持つことはできません。

アプリケーションには1つのメインウインドウがあります。メインウインドウも、多くの場合はキーステータスを持つことができます。メインウインドウは、アプリケーションのユーザアクションの第一の焦点となるウインドウです。多くの場合、キーウインドウ(通常はフォントウインドウや情報ウインドウなどのパネル)でのユーザアクションは、メインウインドウに直接作用します。

NSWindowとウインドウサーバ

標準ウインドウ以外の多くのユーザインターフェイスオブジェクトは、ウインドウです。メニュー、ポップアップリスト、プルダウンリストは、すべてさまざまな種類のユーティリティウインドウやダイアログであるため、根本的にはウインドウです。たとえば、アテンションダイアログ、情報ウインドウ、描画ウインドウ、ユーティリティウインドウ、ツールパレットなどです。実際に、スクリーン上で描画されるものはすべて、ウインドウに表示されなければなりません。しかしユーザは、それらをウインドウとして認識したり参照したりできない場合があります。

相互作用している2つのシステムが、Cocoaウインドウを作成、管理します。ウインドウは、ウインドウサーバによって作成されます。ウインドウサーバは、Quartz(下位レベルの描画システム)の内部のウインドウ管理部分を使用するプロセスであり、Quartzのグラフィックスルーチンを使ってウインドウの描画、サイズ変更、非表示、移動を行います。ウインドウサーバはまた、ユーザイベント(マウスクリックなど)を検出してそれらをアプリケーションに転送します。

ウインドウサーバが作成するウインドウは、Application Kitフレームワークによって提供されるオブジェクトと対になります。提供されるオブジェクトは、NSWindowクラスのインスタンスです。Cocoaプログラム内の物理的なウインドウはそれぞれ、NSWindowまたはそのサブクラスのインスタンスによって管理されます。Application Kitの詳細については、『Cocoa Fundamentals Guide』の「What Is Cocoa?」を参照してください。

NSWindowオブジェクトを作成すると、ウインドウサーバは、NSWindowオブジェクトが管理する物理的なウインドウを作成します。NSWindowクラスはインスタンスメソッドをいくつか提供しており、それを通じてオンスクリーンウインドウの操作をカスタマイズします。

アプリケーション、ウインドウ、ビュー

実行中のCocoaアプリケーションでは、NSWindowオブジェクトは、NSApplicationのインスタンスとそのアプリケーションのビューの中間的な位置を占めています(ビューは、自身の描画と、ユーザイベントの検出ができるオブジェクトです)。NSApplicationオブジェクトは、そのウインドウのリストを保持し、各ウインドウの現在のステータスを追跡します。一方、各NSWindowオブジェクトは、そのウインドウだけでなくビューの階層を管理します。

この階層の最上位は、ウインドウのコンテンツ矩形にちょうど収まる大きさのコンテンツビューです。コンテンツビューには、階層内でそれよりも下に位置する他のすべてのビュー(サブビュー)が含まれます。NSWindowオブジェクトは、階層内のビューにイベントを配布し、それらの間で座標変換を調整します。

もう1つの矩形であるフレーム矩形は、ウインドウの外側の境界を定義し、タイトルバーとウインドウの各種コントロールを含みます。Cocoaでは、Carbonアプリケーションとは異なり、フレーム矩形の左下角を基本座標系の原点として使用します。Carbonアプリケーションでは、左上角を原点として使用します。ビューは、この基本座標系から(相対的に)変換された座標系で自分自身を描画します。



< 前ページ次ページ > 目次を隠す


Last updated: 2008-01-24




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice