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

  • 相关阅读:
    减肥 day1
    这两天的学习内容
    小马激活工具激活系统导致系统崩溃
    mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装
    JDK 动态代理实现原理
    php ajax提交post请求出现数组被截断情况的解决方法
    mac OS X下git代码行统计命令
    mac OS X下安装Redis及Thinkphp3.1使用Redis
    linux服务器git pull/push时提示输入账号密码之免除设置
    linux服务器修改ftp默认21端口方法
  • 原文地址:https://www.cnblogs.com/ioschen/p/3285163.html
Copyright © 2011-2022 走看看