はじめに

このアプリ(と呼べるほどのものではないが)を通してインタフェースビルダー(以降IB)の使い方に慣れましょう。xib(ジブ)ファイルを編集することで簡単にレイアウトや一部のプロパティを操作することが出来ます。

プロジェクトの作成

Xcodeを起動しましょう。ファイルから「新規プロジェクト」を選択します。iPhoneOS項目の"Application"から6つのプロジェクトテンプレートを選択できますがここでは、"View-Based Application"を選択してください。プロジェクト名を"TouchMe"にして保存しましょう。
TouchMe_1.png

作成したらファイルリストにある"TouchMeViewController.xib"と言うファイルをダブルクリックしてください。 自動的にIBが立ち上がります。

ボタンの追加

ライブラリからUIButtonを選択しドラッグ&ドロップしてビューの上に配置します。

TouchMe_2.png

インスペクタではタブを選択して各項目に関して設定を行うことが出来ます。今はボタンを設置するだけなので特に触れる必要はありませんがお好みでボタンやビューの色を変更してみたりするのもよいでしょう。

コードの記述

TouchMeViewController.hの内容を以下のように編集します。

 
#import <UIKit/UIKit.h>
 
@interface TouchMeViewController : UIViewController {
	IBOutlet UIButton *button;
	NSInteger cnt;
}
 
- (IBAction)pushButton:(UIButton *)sender;
 
@end
 

TouchMeViewController.mの内容を以下のように編集します。

 
#import "TouchMeViewController.h"
 
@implementation TouchMeViewController
 
/* ビューが生成された直後にこの処理が呼ばれる。初期化処理のようなもの。 */
- (void)viewDidLoad {
	[super viewDidLoad];
	[button setTitle:@"touch me!" forState:UIControlStateNormal];
}
 
/* ボタンを押した時の処理 */
- (IBAction)pushButton:(UIButton *)sender {
	cnt++;
	NSString *str = [NSString stringWithFormat:@"%d",cnt];
	[button setTitle:str forState:UIControlStateNormal];
}
 
 
- (void)didReceiveMemoryWarning {
	[super didReceiveMemoryWarning];
}
 
 
- (void)dealloc {
	[button release];  // インスタンス解放のために必要。
	[super dealloc];    
}
 
@end
 

ボタンに表示される文字列を指定するためにsetTitle:forState:と言うメソッドを利用しています。UIButtonのインスタンスを解放するためにreleaseするのを忘れないようにしましょう。NSStringで作成されたインスタンスは一時的にしか使用されないため、使用後自動的に解放されるようになっているようです。ここでは作成した文字列を"retain"で保持していないので"release"で解放する必要は無い訳です。

この状態で一度ビルドして実行してみてください。ボタンを押しても何もおこらないはずです。コード記述が終わったらIBを利用して先ほど追加したアクションとアウトレットを関連づける必要があります。

IBとの連帯

ボタンのアクションと処理を関連づけるために再びIBに戻ります。xibウインドウの"File's Owner"をcontrol+クリック、下の画像のように”Outrets”項目の"button"とビュー上のボタンをドラッグして関連づけます。 TouchMe_3.png

同様に”Receive Actions”項目の"pushButton:"もボタンと関連づけます。コード記述の項でIBAction、IBOutletと記述していましたが、それを記述しないとIBと連帯することはできないのです。それぞれアクションとアウトレットに対応していることが分かるかと思います。

関連づけが済んだらビルドして実行してみましょう。
TouchMe_4.png

ボタンをタッチした数をちゃんとカウントしてくれるはずです。これだけではとても地味なので次回からはこれを改良してゲームアプリを作成していきましょう。

written by 153

添付ファイル: fileTouchMe_4.png 919件 [詳細] fileTouchMe_3.png 928件 [詳細] fileTouchMe_2.png 909件 [詳細] fileTouchMe_1.png 961件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-24 (日) 17:14:25 (2583d)