UIControl_收起键盘的几种方式

0.最最简单一句话搞定,不管什么情况下都能隐藏。lazy的话,之后的方法就可以不用看了。

 [[[UIApplication sharedApplication] keyWindow] endEditing:YES];


1.点击背景收起键盘的几种方法

1.最简单粗暴的,只要在 任何 UIView子类结束编辑即可:  
在一个VIewController收起键盘的方法如下:  
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  
{  
    [self.view endEditing:YES];  
}  
2.释放编辑框TextField(TextView同理)的第一响应者即可,实现手段很多:  
   
(1) TextField点击Reture收起键盘  
步骤:实现委托协议,释放第一响应者  
self.textField.delegate=self;  
-(BOOL)textFieldShouldReturn:(UITextField *)textField  
{  
       
    [self.textField resignFirstResponder];  
   return YES;  
}  
(2)在ViewController的self.view上添加一个tap单击手势,当点击空白的时候,释放 输入框的第一响应者即可  
   
(3)背景设置一个 UIButton,给button一个回调,当点击按钮的时候释放键盘的第一响应者即可,同上


2.键盘的自定义

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    textField = [[UITextField alloc]init];
    textField.borderStyle = UITextBorderStyleRoundedRect;
    textField.frame = CGRectMake(10, 10, 150, 30);
    textField.placeholder = @"input";
    textField.delegate = self;
    textField.userInteractionEnabled = YES;
   // textField.inputView = self.inputView;    //inputView属性需手动设置 inputAccessroyView属性由系统调用 
    [self.view addSubview:textField];
}

//在键盘上附加工具栏
-(UIView *)inputAccessoryView  
{
    NSLog(@"11");
    CGRect accessFrame = CGRectMake(0, 0, 768, 44);
    UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:accessFrame];
    
    UIBarButtonItem *buttonSmile = [[UIBarButtonItem alloc]initWithTitle:@":)" style:UIBarButtonItemStyleBordered target:self action:@selector(sendSmile:)];
    
    UIBarButtonItem *buttonSad = [[UIBarButtonItem alloc]initWithTitle:@":(" style:UIBarButtonItemStyleBordered target:self action:@selector(sendSad:)];
    
    [toolbar setItems:[NSArray arrayWithObjects:buttonSmile,buttonSad, nil]];
    return toolbar;
}

//自定义键盘
-(UIView *)inputView  
{
    NSLog(@"22");
    CGRect accessFrame = CGRectMake(0, 0, 768, 44);
    UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:accessFrame];
    
    UIBarButtonItem *buttonSmile = [[UIBarButtonItem alloc]initWithTitle:@":)" style:UIBarButtonItemStyleBordered target:self action:@selector(sendSmile:)];
    
    UIBarButtonItem *buttonSad = [[UIBarButtonItem alloc]initWithTitle:@":(" style:UIBarButtonItemStyleBordered target:self action:@selector(sendSad:)];
    
    [toolbar setItems:[NSArray arrayWithObjects:buttonSmile,buttonSad, nil]];
    return toolbar;
}

-(void)sendSmile:(UITextField *)textfield
{
    textField.text = [self.textField.text stringByAppendingString:@":)"];
}

-(void)sendSad:(UITextField *)textfield
{
    self.textField.text = [self.textField.text stringByAppendingString:@":("];
}




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值