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 アプリケーション チュートリアル