ios
開發中經常要用到輸入框,預設情況下點選輸入框就會彈出鍵盤,但是必須要實現輸入框return的委託方法才能取消鍵盤的顯示,對於使用者體驗來說很不友好,我們可以實現點選鍵盤以外的空白區域來將鍵盤隱藏,以下我總結出了幾種隱藏鍵盤的方法:
首先說明兩種可以讓鍵盤隱藏的method:
1、[viewendediting:yes] 這個方法可以讓整個view取消第一響應者,從而讓所有控制項的鍵盤隱藏。
2、[textfiled resignfirstresponder] 這個則是比較常用的讓某個textfiled的鍵盤隱藏。
接下來就是幾種實現方式:
第一種: 使用view的touchesbegan:觸控事件來實現對鍵盤的隱藏,當點選view的區域就會觸發這個事件
-(void)touchesbegan:(nsset *)touches withevent:(uievent *)event
第二種:建立自定義的觸控手勢來實現對鍵盤的隱藏:
- (void)viewdidload
[super viewdidload];
uitapgesturerecognizer *tapgesturerecognizer = [[uitapgesturerecognizer alloc] initwithtarget:self action:@selector(keyboardhide:)];
//設定成no表示當前控制項響應後會傳播到其他控制項上,預設為yes。
tapgesturerecognizer.cancelstouchesinview = no;
//將觸控事件新增到當前view
[self.view addgesturerecognizer:tapgesturerecognizer];
} -(void)keyboardhide:(uitapgesturerecognizer*)tap
第三種:修改xib中uiview的custom class為uicontrol,uicontrol是一些常用控制項如uibutton的父類,是uiview的派生類,實現了對觸控和下按的封裝。
1、首先設定xib中得uiview的custom class為uicontrol
2、設定關係事件,將xib中得uiview拖到.h區中
設定好事件為touch up inside
3、編寫隱藏**:
- (ibaction)touchview:(id)sender
好了,以上是三種比較常用的隱藏鍵盤的方法,每種都可以用於不同的場合和它的利與弊,就看如何運用了。
iOS 鍵盤顯示與隱藏
目前我所接觸到的鍵盤處理方法有兩種,第一種是通過約束,第二種是通過transform。監聽鍵盤通知 void viewdidload void dealloc pragma mark 鍵盤處理 void keyboardwillshow nsnotification note void keyboa...
iOS 實現隱藏系統鍵盤
實現隱藏系統鍵盤,顯示自定義鍵盤吧 uitextfield獲取焦點時,進入textfieldshouldbeginediting方法,在這個方法中註冊兩個通知 nsnotificationcenter defaultcenter addobserver self selector selector ...
iPhone簡單實現鍵盤隱藏
蘋果應用中,編輯textfield textview時彈出來的鍵盤有時候很鬧心,不知如何隱藏。本文簡單實現了帶 隱藏 按鈕的工具欄,使用者可以隨時隱藏鍵盤。先上圖 實現 首先,定義乙個工具欄變數 ui tbhide for keyboard hiding接下來,建立並設定工具欄 create key...