IOS開發隱藏鍵盤的4種方法
開發的app中常會用到鍵盤輸入完成后隱藏鍵盤的情況.在此總結了4種方法來實現我們的目的.
方法一——delegate方式
第一種隱藏鍵盤的方法,稱為delegate三步法:
1. 遵循(委托/代理);
2. 調用;
3. 關聯頭文件(ViewController.h)中遵循代理 。 代碼如下:
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UITextFieldDelegate> @end
在實現文件(ViewController.m)中,調用方法:
#pragma --mark textFieldDelegate //調用delete方法,<UITextFieldDelegate> -(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder];//釋放第一響應者 return YES; }
其中代碼#pragma --mark textFieldDelegate
,是將它下面方法:textFieldShouldReturn
標記到textFieldDelegate的類別下.如下圖所示:
遵循代理,並且創建方法后,剩下的一步就是建立連接了.
選中控件后,按住control鍵拖拽到view Controller上,選擇delegate.連接就建立好了.
建立連接后,右擊進行連接的控件后,可以看到.
command+r運行后,輸入按鍵盤的return鍵即可實現鍵盤隱藏.
方法二——事件響應法:
直接選中輸入控件,拖拽該控件創建一個action和outlet.
在實現文件中,實現action.
- (IBAction)didEnd:(id)sender { [self.didTextfield resignFirstResponder]; }
方法三——點擊空白處,隱藏鍵盤
當點擊空白位置時,隱藏鍵盤的方法.
選中視圖后,將class(原來為UIView)更改為UIControl——(這是因為:UIControl是 UIView 的子類,具有后者的所有外觀和行為,同時又能激發事件),然后為View對象創建一個touch up inside的觸摸事件,為輸入控件創建一個outlet.
將action實現行為.
- (IBAction)viewClicked:(id)sender{ //獲取文本框對象后,退出第一響應者 [self.textField resignFirstResponder]; }
方法四——奇技淫巧(不常用)
巧用UIButton.將按鈕控件鋪滿全屏,去掉上面的文字,設置背景色與視圖色一致(這里為突出效果,按鈕背景色設置為紅色).
為UIButton對象,創建一個touch up inside的action,為文本框創建一個outlet,然后實現action,
- (IBAction)btnTap:(id)sender { [self.textField resignFirstResponder]; }
如何讓鍵盤消失:點擊return讓鍵盤消失:在它所在頁面的controller里,連接它的did end on exit 到代碼中,再加一句:sender.resignFirstResponder()
點擊屏幕讓鍵盤消失:先將view改為uicontrol的證書,然后連接view的Touch down到當前頁面,連接相應的textfield到該頁面,在viwe的代碼中寫上相應的textfiled.resignFirstResponder()