iPhoneアプリ開発の虎の巻
HOME > UITextField

UITextField

UITextFieldクラスは、テキストフィールドコントロールを管理するクラスです。
テキストフィールドコントロールはユーザから文字や数字の入力を受け付けたい時に使用します。

UITextBorderStyleRoundedRect

UITextFieldのクラス階層

NSObjectUIResponderUIViewUIControl ↑ UITextField

生成

// 生成例
UITextField *tf = [[UITextField alloc] init];

// サイズを指定した生成例
UITextField *tf =
    [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 200, 30)];

※サイズに関しては、サイズ指定のCGRect欄をご覧ください。

UITextFieldのプロパティ

【UITextFieldの主要プロパティ】
プロパティ名/型 読専 説明
delegate
(UITextFieldDelegate)
デリゲートを指定する
(例)tf.delegate = self;
text
NSString
テキストを設定する
(例)tf.text = @"ほげ";
font
UIFont
フォントを設定する
(例)tf.font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
textColor
UIColor
テキストの色を設定する
(例)tf.textColor = [UIColor blackColor];
background
UIImage
背景画像を設定する
(例)tf.background = [UIImage imagenamed:@"Sample.png"];
borderStyle
(UITextBorderStyle)
枠線のスタイルを設定する
 ノーマル:UITextBorderStyleRoundedRect
  UITextBorderStyleRoundedRect
 四角い枠線:UITextBorderStyleLine
  UITextBorderStyleLine
 立体的な四角い枠線:UITextBorderStyleBezel
  UITextBorderStyleBezel
 枠線なし:UITextBorderStyleNone
  UITextBorderStyleNone
(例)tf.borderStyle = UITextBorderStyleLine;
textAlignment
(UITextAlignment)
横揃えを設定する
 中央寄せ: UITextAlignmentCenter
 左寄せ: UITextAlignmentLeft
 右寄せ: UITextAlignmentRight
(例)tf.textAlignment = UITextAlignmentCenter;
placeholder
NSString
プレースホルダ(テキストフィールドに表示する説明文)を設定する
  プレースホルダ
(例)tf.placeholder = @"ここに名前を入力してください。";
keyboardType
(UIKeyboardType)
入力時のキーボードを指定する
 UIKeyboardTypeDefault:デフォルト
 UIKeyboardTypeASCIICapable:英字
 UIKeyboardTypeNumbersAndPunctuation:数字・記号
 UIKeyboardTypeURL:URL用
 UIKeyboardTypeEmailAddress:Email用
 UIKeyboardTypeNumberPad:テンキー
 UIKeyboardTypePhonePad:電話番号用
(例)tf.keyboardType = UIKeyboardTypeURL;
returnKeyType
(UIReturnKeyType)
入力時のキーボードのreturnキーの表示を指定する
 UIReturnKeyDefault:デフォルト(「return」)
 UIReturnKeyGo:「Go」
 UIReturnKeyGoogle:「Google」
 UIReturnKeyJoin:「Join」
 UIReturnKeyNext:「Next」
 UIReturnKeyRoute:「Route」
 UIReturnKeySearch:「Search」
 UIReturnKeySend:「Send」
 UIReturnKeyYahoo:「Yahoo!」
 UIReturnKeyDone:「Done」
 UIReturnKeyEmergencyCall:「EmergencyCall」
(例)tf.returnKeyType = UIReturnKeyDone;
clearButtonMode
(UITextFieldViewMode)
クリアボタンの表示を指定する
 UITextFieldViewModeNever:表示しない
 UITextFieldViewModeAlways:常に表示する
 UITextFieldViewModeUnlessEditing
     :フォーカスが当たっていない時のみ表示する
 UITextFieldViewModeWhiteEditing
     :フォーカスが当たっている時のみ表示する
  クリアボタン
(例)tf.clearButtonMode = UITextFieldViewModeAlways;

主要なプロパティのみ掲載しています。
 上記「UITextFieldのクラス階層」にあるクラスのプロパティも使用できます。

UITextFieldのデリゲートメソッド

【UITextFieldDelegate】
メソッド 説明
-(BOOL)textFieldShouldBeginEditing:
(UITextField*)textField
テキストフィールドを編集する直前に呼び出される
-(BOOL)textFieldShouldEndEditing:
(UITextField*)textField
テキストフィールドの編集が終了する直前に呼び出される
-(void)textFieldDidBeginEditing:
(UITextField*)textField
テキストフィールドを編集する直後に呼び出される
-(void)textFieldDidEndEditing:
(UITextField*)textField
テキストフィールドの編集が終了する直後に呼び出される
-(BOOL)textFieldShouldReturn:
(UITextField*)textField
Returnボタンがタップされた時に呼ばれる
-(BOOL)textFieldShouldClear:
(UITextField*)textField
クリアボタンがタップされた時に呼ばれる
クリアしたい場合はYESを返す

主要なデリゲートメソッドのみ掲載しています。

UITextField例文

// テキストフィールド例文
UITextField *tf =
    [[[UITextField alloc] initWithFrame:CGRectMake(10, 10, 200, 30)] autorelease];
tf.borderStyle = UITextBorderStyleRoundedRect;
tf.textColor = [UIColor blueColor];
tf.placeholder = @"何かいれてね";
tf.clearButtonMode = UITextFieldViewModeAlways;
// 編集終了後フォーカスが外れた時にhogeメソッドを呼び出す
[tf addTarget:self action:@selector(hoge:)
    forControlEvents:UIControlEventEditingDidEndOnExit];
[self.view addSubview:tf];

イベントの種類については、UIControlページの「イベント」欄をご覧ください。

// 呼ばれるhogeメソッド
-(void)hoge:(UITextField*)textfield{
    // ここに何かの処理を記述する
    // (引数の textfield には呼び出し元のUITextFieldオブジェクトが引き渡されてきます)
}

// TextFieldにフォーカスが当たり、キーボードが表示された状態にする
[tf becomeFirstResponder];

// キーボードのReturnボタンがタップされたらキーボードを閉じるようにする
※UITextFiledの以下デリゲートメソッドを実装する
-(BOOL)textFieldShouldReturn:(UITextField*)textField{
  [tf resignFirstResponder];
  return YES;
}
totop