我有 4 个文本字段,我想通过单击返回键来执行以下操作 -
1-当我在一个字段中输入并按回车键时,光标应该跳到下一个
文本域 。
谢谢 。
我有 4 个文本字段,我想通过单击返回键来执行以下操作 -
1-当我在一个字段中输入并按回车键时,光标应该跳到下一个
文本域 。
谢谢 。
为您的所有 textField 串联实施UITextField
委托并设置标签值。像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;
}
尝试这个
将 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;
}
您只需要知道下一个 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;
}