SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

iPhone徹底解剖: 最初の一歩

  • X ポスト
  • このエントリーをはてなブックマークに追加

コントロールの再配置

 図10を見てわかるように、表示方向を変更してもコントロールの大きさと位置は変わっていません。理想的には、表示方向に応じて画面上のコントロールを再配置すべきです。

 Interface Builderに戻り、Labelコントロールを選択し、[Tools]→[Size Inspector]を選択します。コントロールのAutosizing属性を図11のように変更します。これでLabelコントロールが表示方向の変更に応じて拡大/縮小するようになります。同時に、このコントロールは画面の左側、上側、および右側にアンカー設定されます。

図11 Autosizing: Labelコントロールの属性をオートサイズに変更
図11 Autosizing: Labelコントロールの属性をオートサイズに変更

 同じようにして、Text FieldコントロールのAutosizing属性を変更します。

 最後に、Round Rect ButtonコントロールのAutosizing属性を変更します。今度は、表示方向を変更したとき、コントロールの大きさは変えず、画面上側にアンカー設定されるようにだけします。

 実際にどうなるか確認してみましょう! Interface Builder内で、画面右上隅にある矢印をクリックすれば、画面が回転して変更をすぐ確認できます(図12を参照)。

図12 変更の確認: Interface Builder内での表示の回転
図12 変更の確認: Interface Builder内での表示の回転

 Xcodeに戻り、アプリケーションを再び実行します。今度は画面の回転に応じてコントロールの位置と大きさが自動的に変化します。

コードの記述

 今までのところ、まだコードを書いていません。XcodeとInterface Builderに十分慣れてから、コーディングに取り掛かった方がよいと考えるからです。それでも、iPhoneプログラミングの感じをつかむために、少しだけコードを書いてみましょう。

 前述のように、Interface BuilderにはHelloDevXViewController.xibという名前のウィンドウがあります。このウィンドウを見ると、File's Owner、First Responder、Viewの3つのコンポーネントがあります(図13を参照)。File's Ownerを選択し、[Tools]→[Identity Inspector]を選択します。

図13 HelloDevXViewController.xib: イベントハンドラの作成
図13 HelloDevXViewController.xib: イベントハンドラの作成

 HelloDevXViewController Identityウィンドウで、Class Actionsの下にある「+」ボタンをクリックします。このアクションの名前をbtnClicked:とします(コロンを忘れずに付けてください)。これでbtnClicked:というイベントハンドラが作成されます。

 Controlキーを押しながらViewウィンドウのRound Rect Buttonコントロールをクリックし、HelloDevXViewController.xibウィンドウのFile's Owner項目までドラッグします(図14を参照)。btnClicked:イベントを含む小さなポップアップが表示されます。btnClicked:イベントを選択します。要するに、ここではRound Rect Buttonコントロールのクリックイベントをイベントハンドラとリンクしています。

図14 btnClicked:: イベントとイベントハンドラのリンク
図14 btnClicked:: イベントとイベントハンドラのリンク

 「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を参照)。

図15 警告ウィンドウ: ボタンをタップすると、警告ウィンドウが表示される
図15 警告ウィンドウ: ボタンをタップすると、警告ウィンドウが表示される

本稿のまとめ

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

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Wei-Meng Lee(Wei-Meng Lee)

Microsoft MVP受賞者。Microsoft社の最新テクノロジー実地研修を専門とするDeveloper Learning Solutions社を創設。.NETとワイヤレステクノロジーの開発者、指導者として知られる。国際的なカンファレンスでたびたび講演し、.NET、XML、ワイヤレステクノロジーに関す...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3467 2009/02/05 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング