• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Yesi-悦思
"(program(computers) == *art) ? so : what" 修身岂为名传世,作事惟思利及人
博客园    首页    新随笔    联系   管理    订阅  订阅

iOS中键盘隐藏几种方式

转载学习http://www.cnblogs.com/jerehedu/p/4496421.html


在ios开发中,经常需要输入信息。输入信息有两种方式: UITextField和UITextView。信息输入完成后,需要隐藏键盘,下面为大家介绍几种隐藏键盘的方式。

<一> 点击键盘上的return按钮,隐藏键盘

  1、UITextField

  遵守协议

@interface ViewController ()<UITextFieldDelegate>

      设置代理

myTextfield.delegate=self;

使用代理中的方法

-(BOOL)textFieldShouldReturn:(UITextfield *)textField

{

[myTextField resignFirstRespinder];

return NO;

}

2、UITextView

  遵守协议

@interface ViewController ()<UITextViewDelegate>

设置代理

textView.delegate=self;

使用代理中的方法:

-(BOOL)textView:(UITextview *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{

if([text isEqualToStringL@"\n"]){

[textView resignFirstResponder];

return NO;

}

return YES;

}

<二> 在键盘上添加一个按钮,点击按钮隐藏键盘

  设置按钮

UIToolbar *topView=[[UIToolbar alloc]initWithFrame:CGRectMake(0,0,320,30)];

[topView setBarStyle:UIBarStyleBlack];

UIBarButtoItem *btnSpace=[[UIBarButtonItem alloc]initWihBarButtonSystemItem:

UIBarButtonSystemItemFlexibleSpace target:self action:nil];

UIBarButtonItem *doneButton=[[UIBarButtonItem alloc]initWithTitle:@"完成" style:

UIBarButtonItemStyleDone tsrget :self action: @swelector(dismissKeyBoard)];

NSArrar * buttonArray=[NSArrar arrayWithPbjects:btnSpace,doneButton,nil];

[topView setItems:buttonArray];

1、UITextField

[myTextField setInputAccessoryView:TopView];

2、UITExtView

[textView setInputAccessoryView:topView];

添加隐藏键盘方法

-(void)dismissKeyBoar

{

[myTextField resignFirstResponder];

[textView resignFirstResponder];

}

<三>点击除键盘以外的空白位置让键盘隐藏。

  在touchesBegan:withEvent:方法中让输入控件放弃第一响应者身份

-(void)touchesBegan:(NSString *)touches withEvent:(UIEvent *)event{

[myTextField resignFirstResponder];

[textView resignFirstReponder];

}

<四> 添加手势,单击除键盘以外的空白位置让键盘隐藏

 //添加单击手势

UITapGuestureRecognizer *tap=[[UITapGuestureRecognizer alloc]initWithTarget:self action:@selector(dismissKeyBoard)];

tap.numberOfTouchedRequired=1;

tap.numberOfTapsRequired=1;

[self.view addGestureRecgnizer:tap];

//隐藏键盘

-(void)dismissKeyBoard{

[myTextField resigFirstRespinder];

[textView resigFirstRespinder];

}

<五> 只要点击除键盘以外的空白界面,无论是点击哪个控件弹出的键盘,键盘都隐藏

-(void)touchhesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

[self.view endEditing:YES];

}

posted @ 2015-05-18 13:48  悦思  阅读(812)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3