4 つのテキスト フィールドがあり、リターン キーをクリックして次のアクションを実行したい -
1-1つのフィールドにエントリを入力してリターンキーを押すと、カーソルが次のフィールドにジャンプする必要があります
テキストフィールド 。
ありがとう 。
4 つのテキスト フィールドがあり、リターン キーをクリックして次のアクションを実行したい -
1-1つのフィールドにエントリを入力してリターンキーを押すと、カーソルが次のフィールドにジャンプする必要があります
テキストフィールド 。
ありがとう 。
これを試して
4 つのテキストフィールドを textfield1,textfield2,textfile3,textfield4 とします。
テキストフィールドデリゲートメソッドで
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
if([textField isEqual:textfield1])
{
[textfield2 becomeFirstResponder];
return NO;
}
else if([textField isEqual:textfield2])
{
[textfield3 becomeFirstResponder];
return NO;
}
// Do for other textfields
return YES;
}
デリゲートを実装UITextField
し、一連のすべての textField にタグ値を設定します。1,2,3..のように。次に、scrollView
と textField タグの値が競合しないようにしてください。
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
int nextTextFieldTag = textField.tag+1;
UITextField *textFieldd = (UITextField*)[self.view viewWithTag:nextTextFieldTag];
if (textFieldd!=nil) {
if ([textField isKindOfClass:[UITextField class]]) {
[textFieldd becomeFirstResponder];
return NO;
}
}
return YES;
}
次の TextField がどうあるべきかを知り、UITextFieldDelegateProtocol
特に- (BOOL)textFieldShouldReturn:(UITextField *)textField
実装する必要があるだけです。
次- (BOOL)textFieldShouldReturn:(UITextField *)textField
の TextField を見つけて実行するだけです[nextTextField becomeFirstResponder];
したがって、- (BOOL)textFieldShouldReturn:(UITextField *)textField
メソッドは次のようになります。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
if ([textField isEqual:firstTextField]) {
[secondTextField becomeFirstResponder];
}
//When last textfield dismiss the keyboard
else if ([textField lastTextField]) {
[textField resignFirstResponder];
}
return NO;
}