コントロールの再配置
図10を見てわかるように、表示方向を変更してもコントロールの大きさと位置は変わっていません。理想的には、表示方向に応じて画面上のコントロールを再配置すべきです。
Interface Builderに戻り、Labelコントロールを選択し、[Tools]→[Size Inspector]を選択します。コントロールのAutosizing属性を図11のように変更します。これでLabelコントロールが表示方向の変更に応じて拡大/縮小するようになります。同時に、このコントロールは画面の左側、上側、および右側にアンカー設定されます。

同じようにして、Text FieldコントロールのAutosizing属性を変更します。
最後に、Round Rect ButtonコントロールのAutosizing属性を変更します。今度は、表示方向を変更したとき、コントロールの大きさは変えず、画面上側にアンカー設定されるようにだけします。
実際にどうなるか確認してみましょう! Interface Builder内で、画面右上隅にある矢印をクリックすれば、画面が回転して変更をすぐ確認できます(図12を参照)。

Xcodeに戻り、アプリケーションを再び実行します。今度は画面の回転に応じてコントロールの位置と大きさが自動的に変化します。
コードの記述
今までのところ、まだコードを書いていません。XcodeとInterface Builderに十分慣れてから、コーディングに取り掛かった方がよいと考えるからです。それでも、iPhoneプログラミングの感じをつかむために、少しだけコードを書いてみましょう。
前述のように、Interface BuilderにはHelloDevXViewController.xibという名前のウィンドウがあります。このウィンドウを見ると、File's Owner、First Responder、Viewの3つのコンポーネントがあります(図13を参照)。File's Ownerを選択し、[Tools]→[Identity Inspector]を選択します。

HelloDevXViewController Identityウィンドウで、Class Actionsの下にある「+」ボタンをクリックします。このアクションの名前をbtnClicked:とします(コロンを忘れずに付けてください)。これでbtnClicked:というイベントハンドラが作成されます。
Controlキーを押しながらViewウィンドウのRound Rect Buttonコントロールをクリックし、HelloDevXViewController.xibウィンドウのFile's Owner項目までドラッグします(図14を参照)。btnClicked:イベントを含む小さなポップアップが表示されます。btnClicked:イベントを選択します。要するに、ここではRound Rect Buttonコントロールのクリックイベントをイベントハンドラとリンクしています。

「HelloDevXViewController.h」ファイルで、btnClicked:イベントのヘッダー宣言を追加します。
//
// HelloDevXViewController.h
// HelloDevX
//
// Created by Wei-Meng Lee on 11/12/08.
// Copyright Developer Learning Solutions 2008. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface HelloDevXViewController : UIViewController {
}
//---declaration for the btnClicked: event---
-(IBAction) btnClicked:(id)sender;
@end
「HelloDevXViewController.m」ファイルで、btnClicked:イベントの実装を提供するコードを追加します。
- (void)dealloc {
[super dealloc];
}
//---implementation for the btnClicked: event---
-(IBAction) btnClicked:(id)sender {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Hello DevX" message:
@"iPhone, here I come!"
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
@end
上記のコードは、「iPhone, here I come!」という内容の警告ウィンドウを表示します。Xcodeコードに戻り、アプリケーションを再び実行します。今度は、Buttonコントロールをタップすると、警告ウィンドウが表示されます(図15を参照)。

本稿のまとめ
本稿では、あまりコーディングをしませんでしたが、XcodeとInterface Builderを使って、ごく簡単なiPhoneアプリケーションを作成できるようになりました。Objective-C言語を使ったさらに複雑な作業については、次回以降の記事で解説するのでご期待ください。
