当UIReturnKeyNext后,想让光标直接指向下一个textField应该怎么做呢?老师?

当UIReturnKeyNext后,想让光标直接指向下一个textField应该怎么做呢?老师?

/*当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;
}

如果有什么看不明白的地方,可以在问答里进行提问哦~

  • Mr_Steven 提问者 #1
    非常感谢!之前居然用错了方法 居然离真相只有一步之遥了 哈哈哈
    2017-09-07 10:14:40
Tender10 2017-09-06 09:59:30

这个时候应该是获取到第二个textField之后,让第二个textField变成第一响应者,取消第一个textField的第一响应者,这样点击return之后,就会跳转到第二个textField上。


  • 提问者 Mr_Steven #1
    可以使用什么方法改变为第一响应者呢?
    2017-09-06 14:03:08
  • Tender10 回复 提问者 Mr_Steven #2
    直接让你获取到的第二个UITextField调用resignFirstResponder
    2017-09-06 14:03:54
  • 提问者 Mr_Steven 回复 Tender10 #3
    老师,还是不行 第二个UITextField没有反应 - -||
    2017-09-06 17:21:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师