程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> IOS 開發UITextView回收或關閉鍵盤

IOS 開發UITextView回收或關閉鍵盤

編輯:關於C++

IOS 開發UITextView回收或關閉鍵盤。本站提示廣大學習愛好者:(IOS 開發UITextView回收或關閉鍵盤)文章只能為提供參考,不一定能成為您想要的結果。以下是IOS 開發UITextView回收或關閉鍵盤正文


IOS 開發UITextView回收或關閉鍵盤

作者:菁欣

這篇文章主要介紹了IOS 開發UITextView回收或關閉鍵盤的相關資料,需要的朋友可以參考下

IOS 開發UITextView回收或關閉鍵盤

  iOS開發中,發現UITextView沒有像UITextField中textFieldShouldReturn:這樣的方法,那麼要實現UITextView關閉鍵盤,就必須使用其他的方法,下面是可以使用的幾種方法。

1.如果你程序是有導航條的,可以在導航條上面加多一個Done的按鈕,用來退出鍵盤,當然要先實UITextViewDelegate。

- (void)textViewDidBeginEditing:(UITextView *)textView { 
  UIBarButtonItem *done =  [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(leaveEditMode)] autorelease]; 
  self.navigationItem.rightBarButtonItem = done;   
} 
 
- (void)textViewDidEndEditing:(UITextView *)textView { 
  self.navigationItem.rightBarButtonItem = nil; 
} 
 
- (void)leaveEditMode { 
  [self.textView resignFirstResponder]; 
} 

2.如果你的textview裡不用回車鍵,可以把回車鍵當做退出鍵盤的響應鍵。

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
{ 
  if ([text isEqualToString:@"\n"]) { 
    [textView resignFirstResponder]; 
    return NO; 
  } 
  return YES; 
} 

這樣無論你是使用電腦鍵盤上的回車鍵還是使用彈出鍵盤裡的return鍵都可以達到退出鍵盤的效果。

3.第三種方法感覺效果比上面兩種都好,就是在彈出的鍵盤上面加一個view來放置退出鍵盤的Done按鈕。

UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)]; 
  [topView setBarStyle:UIBarStyleBlack]; 
   
  UIBarButtonItem * helloButton = [[UIBarButtonItem alloc]initWithTitle:@"Hello" style:UIBarButtonItemStyleBordered target:self action:nil]; 
   
  UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; 
   
  UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)]; 
   
  NSArray * buttonsArray = [NSArray arrayWithObjects:helloButton,btnSpace,doneButton,nil]; 
  [doneButton release]; 
  [btnSpace release]; 
  [helloButton release]; 
   
  [topView setItems:buttonsArray]; 
  [tvTextView setInputAccessoryView:topView]; 
 
-(IBAction)dismissKeyBoard 
{ 
  [tvTextView resignFirstResponder]; 
} 
 

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved