iOS开发之键盘

最近在开发项目的时候,遇到键盘退出时,出现闪现的情况,即退出之后又出现,然后有退出的情况,这里总结一下iOS中键盘退出的方法。

1.取消第一响应者。

[textField resignFirstResponder];

2.如果第一响应者存在于self.view里面,就可以退出键盘。

[self.view endEditing:YES];

3.点击编辑区以外的地方,收起键盘(点击区为view)。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {  
    if (![myTextView isExclusiveTouch]) {  
        [myTextView resignFirstResponder];  
    }  
}
但是如果你的触碰事件里已经且写满了程式码,那么就可以考虑使用,UIControl 的 Touch Up Inside 事件来收起键盘,方法是将以下程式码与 UIControl 的 Touch Up Inside 事件连结即可。

- (IBAction)dismissKeyboard:(id)sender {  
    [myTextView resignFirstResponder];  
}

如果要使用此方式请务必记得,你操作画面的 Custom Class 一定要是 UIControl 才行。画面的 Custom Class 为 UIControl。将收起键盘的方法与 UIControl 事件连结。

4. 通过点击软键盘上某个按钮。可以根据需要设置textField的键盘类型,通过textField的returnKeyType 设置需要的返回键类型。然后在 - (BOOL)textFieldShouldReturn:(UITextField *)textField代理方法中 调用上述的两种关闭键盘的方法。

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    //根据不同的return键可以在这里做一些发送或处理数据的操作
    
    //隐藏键盘
    [textField resignFirstResponder];
    
   //[self.view endEditing:YES];
}
注意,当系统显示和隐藏键盘的时候会发出相应的通知,我们可以在通知中获取键盘的相应数据和状态。

注意,有时候会出现键盘显示之后又隐藏的 情况,这个时候,肯定是某个编辑框又称为第一响应者了,处理的办法是:

[self.textField becomeFirstResponder];
[self.textField resignFirstResponder];
先将编辑框变为第一个响应者,在取消它的第一响应者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值