iOSメモ5 〜実践編〜
学習の記録を自分用にメモしようかと。
従って、この記事だけを読んでも何もわかりません……。
イメージビューを追加する
イメージビューとは静止画像のことです。1.~~ViewController.h内に、
@interface Control_FunViewController : UIViewController {
UIImageView *imageView;
}
@property(nonatomic, retain) IBOutlet UIImageView *imageView;
を記述。
2.~~ViewController.m内に、
@synthesize imageView;
- (void)viewDidLoad {
[super viewDidLoad];
imageView.image = [UIImage imageNamed:@"title.png"];
}
- (void)viewDidUnload {
self.imageView = nil;
}
- (void)dealloc {
[imageView release];
[super dealloc];
}
を記述。
3.InterfaceBuilderへ移動。
Libraryのmediaから画像を選択し、Viewの任意の場所へドラッグ&ドロップ。
4.nib内のFile's OwnerとimageViewを関連づける。
(File's Ownerの上でControlを押しながらView内の任意の場所に置いたイメージへドラッグ&ドロップ。)
(ドロップ後、imageViewを選択する。)
以上でイメージが表示される。
入力終了と同時にキーボードを片付ける(Did End on Exit)
テキストフィールドに書き込んだ後、Returnを押したらキーボードをしまう処理1.~~ViewController.h内に、
- (IBAction)textFieldDoneEditing:(id)sender;
を追加。
2.~~ViewController.m内に、
- (IBAction)textFieldDoneEditing:(id)sender{
[sender resignFirstResponder];
}
を記述。
3.InterfaceBuilderへ移動。
Nameテキストフィールドを選択し、コマンド+2キーでコネクションインスペクタを呼び出す。
ユーザーがiPhoneのキーボードでDoneボタンをタップすると動き出すイベント「Did End on Exit」から「Fie's Owner」までドラッグ&ドロップして、textFieldDoneEditing:アクションに接続する。
キーボードを閉じるためにバックグランドに触れる
数値キーにはReturnキーが無いので、バックグラウンドにタップしたらキーボードをしまう処理。1.~~ViewController.h内に、
- (IBAction)backgroundTap:(id)sender;
を追加。
2.~~ViewController.m内に、
- (IBAction)backgroundTap:(id)sender {
[nameField resignFirstResponder]
[numberField resignFirstResponder];
}
//どちらのテキストフィールドがFirst Responderなのかを確認せずにメソッドを呼び出せる。
3.InterfaceBuilderへ飛ぶ。
Viewを選択し、コマンド+4でアイデンティティインスペクタを呼び出す。
ラベルのついたフィールドにおいて、UIViewをUIControlに変更する。
これは、アクションメソッドをトリガーできる全てのコントロールは、UIControlのサブクラスなので、この基本となるクラスを帰ることによって、ビューがアクションメソッドをトリガーできるようになる。
4.コマンド+2でコネクションインスペクタを呼び出す。
タップする(指が画面に触れた瞬間)と動き出すイベント「Touch Down」から「File's Owner」までドラッグ&ドロップして、backgroundTap:actionを選択する。