IOS開發隱藏鍵盤的4種方法


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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM