码迷,mamicode.com
首页 > 移动开发 > 详细

iOS中键盘隐藏几种方式

时间:2015-05-18 14:33:04      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

转载学习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];

}

iOS中键盘隐藏几种方式

标签:

原文地址:http://www.cnblogs.com/yesihoang/p/4511742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!