UITextField
UITextFieldクラスは、テキストフィールドコントロールを管理するクラスです。
テキストフィールドコントロールはユーザから文字や数字の入力を受け付けたい時に使用します。
UITextFieldのクラス階層
生成
// 生成例
UITextField *tf = [[UITextField alloc] init];
// サイズを指定した生成例
UITextField *tf =
[[UITextField alloc] initWithFrame:CGRectMake(10, 10, 200, 30)];
※サイズに関しては、サイズ指定のCGRect欄をご覧ください。
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 四角い枠線:UITextBorderStyleLine 立体的な四角い枠線:UITextBorderStyleBezel 枠線なし: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のデリゲートメソッド
メソッド | 説明 |
---|---|
-(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;
}