zoukankan      html  css  js  c++  java
  • UITextView 退出键盘的方式

    1.如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate。

    代码如下:

    1. - (void)textViewDidBeginEditing:(UITextView *)textView {  
    2.    UIBarButtonItem *done =    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(leaveEditMode)] autorelease];  
    3.    self.navigationItem.rightBarButtonItem = done;      
    4. }  
    5.   
    6. - (void)textViewDidEndEditing:(UITextView *)textView {  
    7.     self.navigationItem.rightBarButtonItem = nil;  
    8. }  
    9.   
    10. - (void)leaveEditMode {  
    11.     [self.textView resignFirstResponder];  
    12. }  


    效果类似这样:




    2.如果你的textview里不用回车键,可以把回车键当做退出键盘的响应键。
    代码如下:

    1. #pragma mark - UITextView Delegate Methods  
    2. -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text  
    3. {  
    4.     if ([text isEqualToString:@" "]) {  
    5.         [textView resignFirstResponder];  
    6.         return NO;  
    7.     }  
    8.     return YES;  
    9. }  

    这样无论你是使用电脑键盘上的回车键还是使用弹出键盘里的return键都可以达到退出键盘的效果。


    3.第三种方法感觉效果比上面两种都好,就是在弹出的键盘上面加一个view来放置退出键盘的Done按钮。

    代码如下:

    1.  UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];  
    2.     [topView setBarStyle:UIBarStyleBlack];  
    3.       
    4.     UIBarButtonItem * helloButton = [[UIBarButtonItem alloc]initWithTitle:@"Hello" style:UIBarButtonItemStyleBordered target:self action:nil];  
    5.       
    6.     UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];  
    7.       
    8.     UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)];  
    9.       
    10.       
    11.     NSArray * buttonsArray = [NSArray arrayWithObjects:helloButton,btnSpace,doneButton,nil];  
    12.     [doneButton release];  
    13.     [btnSpace release];  
    14.     [helloButton release];  
    15.       
    16.     [topView setItems:buttonsArray];  
    17.     [tvTextView setInputAccessoryView:topView];  
    18.   
    19. -(IBAction)dismissKeyBoard  
    20. {  
    21.     [tvTextView resignFirstResponder];  
    22. }  


    主要是使用了uitextview的InputAccessoryView的属性来达到这样的效果,下面是效果图:



    转载:http://blog.csdn.net/bl1988530/article/details/6694897#comments

    我转载自http://blog.csdn.net/duxinfeng2010/article/details/7818445

  • 相关阅读:
    【翻译】ASP.NET MVC深度接触:ASP.NET MVC请求生命周期
    水木年华亲笔签名《ASP.NET第一步》等你来拿!!
    《C#与.NET 3.0高级程序设计(特别版)》横空出世
    是什么让你萌发了跳槽的念头?
    (原创)无废话C#设计模式之十八:Command
    (原创)无废话C#设计模式之十六:State
    (原创)无废话C#设计模式之二十:Mediator
    推荐文章索引
    技术图书非常难写
    【翻译】创建IQUERYABLE提供器系列文章
  • 原文地址:https://www.cnblogs.com/ioschen/p/3285163.html
Copyright © 2011-2022 走看看