UITextView UITextField退出键盘的常用三种方式

(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. -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text     
  2. {     
  3.     if ([text isEqualToString:@"\n"]) {     
  4.         [textView resignFirstResponder];     
  5.         return NO;     
  6.     }     
  7.     return YES;     
  8. }     

 

(3)还有你也可以自定义其他加载键盘上面用来退出,比如在弹出的键盘上面加一个view来放置退出键盘的Done按钮。

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

 

  

你可能感兴趣的:(UITextView UITextField退出键盘的常用三种方式)