2010年9月10日金曜日

Day 3 OpenURL openMaps: カスタマイズ(1)住所を直接入力する

ボタンをタップして決めうちの住所をgoogleMapsで表示するのではなく、テキストフィールドを実装してキーボードから住所を入力できるようにカスタマイズする。

UIKitフレームワークには、テキストコンテンツを表示するために、次の3つの主要なクラスがあります。
■ UILabel:静的なテキスト文字列を表示する
■ UITextField:編集可能な単一行のテキストを表示する
■ UITextView:編集可能な複数行のテキストを表示する

住所は1行程度の入力になると想定して、UITextFieldクラスを利用する。

編集可能なText Viewで作業をする場合は、常に、編集セッションを管理するデリゲートオブジェクトを提供する必要があります。
View Controllerは、それ自体がこのテキストフィールドのデリゲートになるため、UITextFieldDelegateプロトコルを採用しなければなりません。クラスがプロトコルを採用することを指定するには、インターフェイスで、そのクラスの継承元のクラスの名前の後に、角括弧(<>)で囲んでプロトコル名を追加します。

TextField を実装するソースコードは以下のようにした。

インターフェイスで、デリゲートを設定する。
RootViewController.h
#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController <UITextFieldDelegate> {
UIView *view;
UITextField *txtField;
}
@end

TextField の実装は、loadView メソッドで行う。
デフォルトの画面 UIView に、テキストフィールドのビュー UITxetField を追加する。

RootViewController.m

-(void)loadView{

view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
view.backgroundColor = [UIColor grayColor];
self.view = view;

txtField = [[UITextField alloc] initWithFrame:CGRectMake(63, 56, 200, 30)];
txtField.borderStyle = 3;
txtField.placeholder = @"Enter Adress";
[self.view addSubview: txtField];
txtField.delegate = self;
txtField.returnKeyType = UIReturnKeyDone;

[txtField release];
[view release];

}

参考PDF:iPhone アプリケーションプログラミングガイド
iPhone アプリケーション チュートリアル

0 件のコメント:

コメントを投稿