你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS: 讓鍵盤消失的的4種方法

iOS: 讓鍵盤消失的的4種方法

編輯:關於IOS
在iOS app中,只要用到編輯框(UITextField)的地方,就得處理鍵盤消失 (dismiss keyboard)。 我先後用過4種方法,來處理鍵盤消失的問題。 1. 通過UITextFiledDelegate,來釋放第一響應者 (resignFirstResponder); 這種通過delegate釋放鍵盤的代碼如下:

 - (BOOL)textFieldShouldReturn:(UITextField *)textField {

 [textField resignFirstResponder];

 return YES;

}

以下3種方法是通過 響應事件來處理的:

2. 通過 Done鍵的 DidonExit method,來 resignFirstResponder;

3.  點擊編輯框的背景圖,讓鍵盤消失。 方法: 將背景view 設為: UIControll。 UIView本身不能響應事件,而UIcontroll 是可以響應事件的。 UIControll 繼承於 UIView;  通過調用 UIControll的 Touch Down 事件,讓鍵盤消失;

4. 放置一個 UIButton ,將這個UIButton 布滿全屏,當點擊非編輯區域時,其實就是點擊這個巨型的Button。 在這個button 事件中, resignFirstResponder 即可。

- (IBAction)backgroundTap:(id)sender {

    [self.nameTextField resignFirstResponder];

  [self.passwordTextField resignFirstResponder];

}

說明: 這個method 模擬了用戶的兩種行為: 

1. 點擊keyboard上的 done 鍵 ,讓鍵盤消失;

2. 點擊 編輯框以外的區域, 讓鍵盤消失。

特別說明一點: 通過布滿全屏的Button ,這種方法要求: 這個巨型的Button 一定要放在最底層。 否則的話,編輯框將無法接受輸入的事件。

方案點評:

UITextFieldDelegate 和 UIControll 方案,處理鍵盤消失問題,這是一種大智慧。 而巨型 Button 和 didOnExit 方法,雖然也能用,但從軟件編程思想上看,只能算是一種小聰明罷了。

小結:

只要有輸入框存在,就得處理如何讓鍵盤消失的問題。 當然,你可以僅僅處理 點擊“done”按鈕,來讓鍵盤消失。 但為了讓用戶有更好的體驗, 需要同時處理 非編輯框的區域的事件響應。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved