UITextField隐藏键盘的几种方式

UITextField是ios中实用频率很高的额控件,文本输入之后通常需要隐藏软键盘,而隐藏的原理都是通过使得UITextField失去第一响应者,以下是几种隐藏的方式。

第一种:通过设置代理UITextFieldDelegate, 并在 -(BOOL)textFieldShouldReturn:(UITextField *)textField里面使得空间失去第一响应者:

@interface KCLoginViewController ()<UITextFieldDelegate>{

UITextField *_txtUserName;

}

 - (void)viewDidLoad { 
  //创建 _txtUserName,并添加到视图上
}

 -(BOOL)textFieldShouldReturn:(UITextField *)textField{
   {
[_txtUserName resignFirstResponder];// 失去第一响应者
    return YES;

点击键盘灯额“return”键是不是能将键盘隐藏了!

第二种:上面的方法有一个问题就是,有些情况下键盘是没有‘return’键的,那怎么隐掉键盘呢?

平常的app通过点击空白处也可以隐掉键盘,怎么实现的呢?其实有很几种方式都能解决:在view的上面铺个UIControl,或是铺个大大的UIbutton,抑或添加触摸事件

 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event来实现都是可以的。
首先说说在view的上面铺个UIControl:
 - (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
     UIControl *controlView = [[UIControl alloc] initWithFrame:self.view.frame];
    [self.view addSubview:controlView];
    [controlView addTarget:self action:@selector( hiddleKeyboard) forControlEvents:UIControlEventTouchUpInside]; 
    //[self layoutUI]; 
}

-(void)hiddleKeyboard{
[_txtUserName resignFirstResponder];//失去第一响应者
}

现在点击屏幕的空白处键盘是不是隐藏了!

上面这两种方法用得比较多。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值