点击屏幕,让UITextField关闭键盘+传值

本文介绍如何通过UITextField的代理方法及触摸事件实现键盘隐藏,并将输入的值传递给下一个ViewController,包括UITextFieldDelegate设置、触摸事件处理及ViewController间的值传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

1、点击UITextField的其他区域,隐藏键盘,同时将UITextField的text值传给下一个ViewController


解决方法:

1、设置UITextFieldDelegate

2、UITextField初始化和SearchBook事件

_searchBook = [[UITextField alloc]initWithFrame:CGRectMake(30, 200, 260, 40)];
    _searchBook.delegate = self;
    _searchBook.returnKeyType = UIReturnKeySearch;
    _searchBook.placeholder = @"关键字/标题/ISBN";
    _searchBook.borderStyle = UITextBorderStyleRoundedRect;
    [_searchBook addTarget:self action:@selector(search) forControlEvents:UIControlEventEditingDidEndOnExit];
    [self.view addSubview:_searchBook];

3、TextFieldDidEndEditing代理方法:(传值)点击returnType按钮,将UITextField的text值赋值给下一个ViewController的属性

-(void)textFieldDidEndEditing:(UITextField *)textField
{
    _bookSearchList = [[BookSearchList alloc]init];
    _bookSearchList.anywords = _searchBook.text;
}


4、Search方法:(跳转)当UITextField结束退出后跳转到下一个ViewController

- (void)search
{
    [self.navigationController pushViewController:_bookSearchList animated:YES];
}


5、Touch方法:(触摸其他区域隐藏键盘)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch  *touch = [[event allTouches]anyObject];
    if (touch.tapCount >= 1) {
        [_searchBook resignFirstResponder];
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值