ITextView如何关闭键盘

UITextField可以响应键盘上的完成按钮,关闭键盘,而UITextView不一样,它的return按钮或者Done按钮执行的是换行功能,不能达到关闭键盘的目的。解决方法有两个:一个是通过捕捉touch 
End事件,当用户点击空白区域时关闭UITextView打开的键盘;一个是增加一个带有完成按钮的UIToolbar(这个UIToolbar当键盘弹出的时候总是显示在键盘的上方,很完美的贴在一起,键盘收起,它也会随着收起)。当然,将这两个方法都集成进来运用也是可以的。 
    
下面提供第二种方法的详细代码: 
    UIToolbar * topView = [[UIToolbar alloc] 
initWithFrame:CGRectMake(0, 0, 320, 30)];  
    [topView 
setBarStyle:UIBarStyleDefault]; 
    
    UIBarButtonItem * btnSpace = 
[[UIBarButtonItem alloc] 
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self 
action:nil]; 
    UIBarButtonItem * doneButton = [[UIBarButtonItem alloc] 
initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self 
action:@selector(dismissKeyBoard)];    
    NSArray * buttonsArray = [NSArray 
arrayWithObjects:btnSpace, doneButton, nil]; 
    [btnSpace release]; 
    
[doneButton release]; 
    
    [topView setItems:buttonsArray]; 
    
[m_myUITextView setInputAccessoryView:topView]; 
    
注:1.dismissKeyBoard是自定义的收起键盘的方法,可自定义其中的内容,比如执行[m_myUITextView 
resignFirstResponder]; 
           2.最后一行代码setInputAccessoryView函数的调用是很关键的一句。

时间: 2024-11-15 00:30:10

ITextView如何关闭键盘的相关文章

xcode4.3 完成输入后 点击背景关闭键盘

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self.view endEditing:YES];}把这个复制到视图对应的.m文件中,即可 xcode4.3 完成输入后 点击背景关闭键盘,布布扣,bubuko.com

IOS第五天(2:用户登录,回车的监听(代理模式UITextFieldDelegate)) 和关闭键盘

*********用户登录,回车的监听(代理模式UITextFieldDelegate) #import "HMViewController.h" @interface HMViewController () <UITextFieldDelegate> @property (weak, nonatomic) IBOutlet UITextField *userNameText; @property (weak, nonatomic) IBOutlet UITextField

关闭键盘

1.点击固定的按钮关闭键盘 -(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if([text isEqualToS

关闭键盘的3种方法

第一种方法,使用它的委托UITextFieldDelegate中的方法textFieldShouldReturn:来关闭虚拟键盘. 在UITextField视图对象如birdNameInput所在的类中实现这个方法. - (BOOL)textFieldShouldReturn:(UITextField *)textField { if ((textField == self.birdNameInput) || (textField == self.locationInput)) { [textF

Android UI设计之&lt;十一&gt;自定义ViewGroup,打造通用的关闭键盘小控件ImeObserverLayout

转载请注明出处:http://blog.csdn.net/llew2011/article/details/51598682 我们平时开发中总会遇见一些奇葩的需求,为了实现这些需求我们往往绞尽脑汁有时候还茶不思饭不香的,有点夸张了(*^__^*)--我印象最深的一个需求是在一段文字中对部分词语进行加粗显示.当时费了不少劲,不过还好,这个问题最终解决了,有兴趣的童靴可以看一下:Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示. 之前产品那边提了这样

UITextView如何关闭键盘

UITextField可以响应键盘上的完成按钮,关闭键盘,而UITextView不一样,它的return按钮或者Done按钮执行的是换行功能,不能达到关闭键盘的目的.解决方法有两个:一个是通过捕捉touch End事件,当用户点击空白区域时关闭UITextView打开的键盘:一个是增加一个带有完成按钮的UIToolbar(这个UIToolbar当键盘弹出的时候总是显示在键盘的上方,很完美的贴在一起,键盘收起,它也会随着收起).当然,将这两个方法都集成进来运用也是可以的. 下面提供第二种方法的详细

[IOS_UI控件]IPHONE应用开发 - 打开和关闭键盘

iphone很聪明,在你选择 TextField时,键盘将会自动弹出来.所以打开就不必说拉. 关闭键盘的2种方式:1.如果键盘右下角有"return"按钮的话,当点击该按钮将会触发"did end on exit"事件,只要在此时执行以下方法就可以了://关闭键盘- (IBAction)textFieldDoneEditing:(id)sender {    [sender resignFirstResponder];}貌似只要让当前对象成为"第一响应者&

iOS开发之点触textView编辑区关闭键盘

textView,textField 关闭键盘的方式网上有很多种, 最普遍的是使用键盘中回车键作为键盘关闭的信号,甚至有用户交互最差的监听键盘输入.再就是在键盘上添加关闭按钮,这个也不好,不够简约.还有在界面底部添加subView,subView中添加按钮,属于在界面上添加关闭按钮类型的,键盘弹出之后通过动画上移整个subView至键盘顶部的,这是我以前采用的一种方式.不过界面东西太多,感觉界面越简约越好. 还有一种比较接近本文的是通过点击编辑区以外的view关闭键盘,但是用户还需要自己区分哪里

iOS关闭键盘的两种简单方法

方法一: //1, 关闭键盘 [[[UIApplication sharedApplication] keyWindow] endEditing:YES]; 方法二: //2, 关闭键盘 [[self findFirstResponderBeneathView:self] resignFirstResponder]; - (UIView*)findFirstResponderBeneathView:(UIView*)view { // Search recursively for first r