「IOS開発」UITextFieldの使い方

1.UITextFieldの初期化およびプロパティ
//名前を入力
UITextField *nameField = [[UITextField alloc] initWithFrame:CGRectMake(30, 30, 200, 44)];
nameField.tag = 100;
nameField.delegate = self;
//デフォルトのテキスト
nameField.placeholder = @"name";
nameField.font = [UIFont systemFontOfSize:16.0f];
nameField.textColor = [UIColor blackColor];
//入力ボックスの背景画像
nameField.background = [UIImage imageNamed:@"textFieldBackgroundImage"];
//nameField.backgroundColor = [UIColor lightGrayColor];
//クリアボタン
nameField.clearButtonMode = UITextFieldViewModeAlways;
//キーボードタイプ
nameField.keyboardType = UIKeyboardTypeDefault;
[self.view addSubview:nameField];
//電話を入力
UITextField *phoneField = [[UITextField alloc] initWithFrame:CGRectMake(30, nameField.frame.origin.y + nameField.bounds.size.height+10, 200, 44)];
phoneField.tag = 101;
phoneField.delegate = self;
phoneField.placeholder = @"phone";
phoneField.keyboardType = UIKeyboardTypeDecimalPad;
phoneField.clearButtonMode = UITextFieldViewModeAlways;
[self.view addSubview:phoneField];
//メールアドレスを入力
UITextField *emailField = [[UITextField alloc] initWithFrame:CGRectMake(30, phoneField.frame.origin.y + phoneField.bounds.size.height + 10, 200, 44)];
emailField.tag = 102;
emailField.delegate = self;
emailField.placeholder = @"email";
emailField.keyboardType = UIKeyboardTypeEmailAddress;
emailField.clearButtonMode = UITextFieldViewModeAlways;
[self.view addSubview:emailField];
2.キーボードのリターンをクリックしてキーボードを非表示にする
– (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}

3.画面の空白をクリックして、キーボードを非表示にする

– (void)dismissKeyboard
{
NSArray *subViews = [self.view subviews];
for (id inputText in subViews) {
if ([inputText isKindOfClass:[UITextField class]]) {
if ([inputText isFirstResponder]) {
[inputText resignFirstResponder];
}
}
}
}
現在のviewにイベントを増やす
UITapGestureRecognizer *dismissKeyboardTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer: dismissKeyboardTap];
4.UITextFieldのコンテンツのパリティチェックを増加

(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
switch (textField.tag) {
case 100://name
{
NSLog(@"これは nameField です");
//nameのパリティチェックコードを追加
break;
}
case 101://phone
{
NSLog(@"これはphoneField です");
//phoneのパリティチェックコードを追加
break;
}
case 102://email
{
NSLog(@"これはemailField です");
//emailのパリティチェックコードを追加
break;
}
default:
break;
}
return YES;
}

IOS

Posted by arkgame