当UIReturnKeyNext后,想让光标直接指向下一个textField应该怎么做呢?老师?
来源:3-23 UITextField小结
Mr_Steven
2017-09-06 00:18:49
/*当UIReturnKeyNext后,想让光标直接指向下一个textField应该怎么做呢?老师? 我现在已经使用 UIView对象将下一个要指向的textField获取到了,但是不知道怎么将焦点聚集到该输入框内并弹出键盘来*/ //tag = 1 为输入框1 tag = 2为输入框2 -(BOOL)textFieldShouldReturn:(UITextField *)textField{ [self resignFirstResponder]; //如果是tag1的输入框 ,将直接指向下一个输入框内容,并弹出键盘直接输入 这样是否能够实现? if(self.tag == 1){ UITextField *textField = (UITextField*)[self.superview viewWithTag:2]; textField.editing; } return true; }
2回答
给你写了一个小案例,你可以自己体会一下切换的过程,如下所示:
#import "ViewController.h" @interface ViewController ()<UITextFieldDelegate> @property(nonatomic,strong)UITextField *textField1; @property(nonatomic,strong)UITextField *textField2; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.textField1 = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 100, 20)]; self.textField1.delegate = self; self.textField1.placeholder = @"账号:"; self.textField1.tag = 101; [self.view addSubview:self.textField1]; self.textField2 = [[UITextField alloc] initWithFrame:CGRectMake(10, 50, 100, 20)]; self.textField2.delegate = self; self.textField2.placeholder = @"密码:"; self.textField2.tag = 102; [self.view addSubview:self.textField2]; } -(BOOL)textFieldShouldReturn:(UITextField *)textField{ if(textField.tag == 101){ [textField resignFirstResponder]; [self.textField2 becomeFirstResponder]; }else{ [textField resignFirstResponder]; [self.textField1 becomeFirstResponder]; } return YES; }
如果有什么看不明白的地方,可以在问答里进行提问哦~
Tender10
2017-09-06
这个时候应该是获取到第二个textField之后,让第二个textField变成第一响应者,取消第一个textField的第一响应者,这样点击return之后,就会跳转到第二个textField上。
相似问题