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

  • 相关阅读:
    【原】webpack--loaders,主要解释为什么需要loaders和注意事项
    【原】通过npm script运行webpack的原理
    原生js深拷贝函数
    git add 添加错文件的撤销方法
    item2 快捷键
    sudo su 和sudo -s的区别
    nvm常用命令
    【雅思】【口语】Describe a product you bought and felt happy
    【雅思】【口语】Help others
    【雅思】【口语】
  • 原文地址:https://www.cnblogs.com/ioschen/p/3285163.html
Copyright © 2011-2022 走看看