總結(jié)IOS中隱藏軟鍵盤的三種方式
一、使用軟鍵盤的 Done 鍵隱藏鍵盤
出發(fā)軟鍵盤隱藏最常用的事件是文本框的 Did End on Exit,它在用戶按軟鍵盤中的 Done 鍵時(shí)發(fā)生。選中一個(gè)UITextField控件,點(diǎn)擊鼠標(biāo)右鍵彈出面板,鼠標(biāo)左鍵按住 Did End on Exit 事件旁邊的圓圈,然后拖曳到右側(cè) .h 文件中,命名為 CloseTheKeyBoard,在 m 文件中具體實(shí)現(xiàn)如下圖所示(此處同時(shí)顯示 .h 文件與 .m 文件):

當(dāng)頁面中有很多個(gè)文本框時(shí),如果每次都需要點(diǎn)文本框激活軟鍵盤、輸入后點(diǎn)擊Return隱藏軟鍵盤、再點(diǎn)擊下一個(gè)文本框……這樣操作起來太繁瑣了。 于是我們希望能夠?qū)崿F(xiàn)點(diǎn)擊Return時(shí)能夠自動(dòng)轉(zhuǎn)到下一個(gè)文本框。尤其是對(duì)于最后一個(gè)文本框,希望能夠在點(diǎn)擊Return時(shí)執(zhí)行下一步操作。
例如對(duì)于登錄頁面。它上面有賬號(hào)文本框(nameTextField)、密碼文本框(passTextField)、登錄按鈕(loginBtn)。
我們希望——點(diǎn)擊賬號(hào)文本框軟鍵盤的Return時(shí)跳轉(zhuǎn)到密碼文本框,點(diǎn)擊密碼文本框軟鍵盤的Return時(shí)執(zhí)行登錄。
因?yàn)檫@兩個(gè)文本框的功能不同,不能像上一節(jié)那樣寫一個(gè)CloseTheKeyBoard做統(tǒng)一處理,而應(yīng)該分別建立各自的事件處理方法。
回到storyboard,右擊賬號(hào)文本框彈出面板,按住Did End on Exit事件旁邊的圓圈,然后拖曳到右側(cè).h文件的空白地方,此時(shí)會(huì)彈出一個(gè)對(duì)話框給方法命名。輸入名稱 (CloseTheKeyBoard)后回車確定,便自動(dòng)生成了該事件方法。
隨后按照同樣的做法,為密碼文本框(passTextField)的Did End on Exit事件連接方法(passwordTextField)。

對(duì)于賬號(hào)文本框轉(zhuǎn)密碼文本框,不需要隱藏軟鍵盤,只需要調(diào)用becomeFirstResponder激活新的文本框就行了。
對(duì)于密碼文本框Return后執(zhí)行登錄。因?yàn)椴辉傩枰@示軟鍵盤,所以還是得調(diào)用resignFirstResponder隱藏軟鍵盤,然后觸發(fā)登錄按鈕(loginBtn)的UIControlEventTouchUpInside事件進(jìn)行登錄。
運(yùn)行一下,可發(fā)現(xiàn)已經(jīng)達(dá)到我們希望的效果了。點(diǎn)擊賬號(hào)文本框軟鍵盤的Return時(shí)跳轉(zhuǎn)到密碼文本框,點(diǎn)擊密碼文本框軟鍵盤的Return時(shí)執(zhí)行登錄。
怎么都是“Return”,轉(zhuǎn)換文本框與執(zhí)行登錄明明是不同的功能?
于是將賬號(hào)文本框的Return Key屬性設(shè)為“Next”,將密碼文本框的Return Key屬性設(shè)為“Done”,使界面與功能一致。
二、輕觸背景隱藏軟鍵盤(Touch Down事件觸發(fā))
在storyboard,點(diǎn)擊背景View,將它的Custom Class設(shè)置為UIControl,這樣才會(huì)出現(xiàn)Touch Down事件。右擊背景View彈出面板,按住Touch Down事件旁邊的圓圈,然后拖曳到右側(cè).h文件的空白地方建立該事件的處理方法。

三、輕觸背景隱藏軟鍵盤(通過背景透明大按鈕觸發(fā))
將視圖庫中的 Button 控件拖動(dòng)到設(shè)計(jì)界面,將 Button 控件的大小進(jìn)行調(diào)整,使其可以覆蓋整個(gè)設(shè)計(jì)界面。選擇菜單欄中的Editor|Arrange|Send to Back 命令,將 Button 控件放在所有控件的后面。將 Button 控件的標(biāo)題雙擊進(jìn)行刪除,將按鈕與 .h 文件進(jìn)行 hideKeyBoard 動(dòng)作關(guān)聯(lián),將用戶設(shè)計(jì)界面的文本框控件與插座變量 myTextField 進(jìn)行關(guān)聯(lián)。 具體代碼如下圖:

四、總結(jié)
以上就是自身總結(jié)的IOS隱藏軟鍵盤的三種方法,后續(xù)會(huì)陸續(xù)整理一些其他技巧與方法,感興趣的朋友們可以繼續(xù)關(guān)注腳本之家。
相關(guān)文章
iOS開發(fā) widget構(gòu)建詳解及實(shí)現(xiàn)代碼
這篇文章主要介紹了iOS開發(fā) widget構(gòu)建詳解的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下2016-11-11
iOS中使用UItableviewcell實(shí)現(xiàn)團(tuán)購和微博界面的示例
這篇文章主要介紹了iOS中使用UItableviewcell實(shí)現(xiàn)團(tuán)購和微博界面的示例,開發(fā)語言基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-01-01
UICollectionView 實(shí)現(xiàn)圖片瀏覽效果
這篇文章主要為大家介紹了UICollectionView 實(shí)現(xiàn)圖片瀏覽效果示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
iOS CAReplicatorLayer實(shí)現(xiàn)脈沖動(dòng)畫效果
這篇文章主要介紹了iOS CAReplicatorLayer實(shí)現(xiàn)脈沖動(dòng)畫效果 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
iOS漸變圓環(huán)旋轉(zhuǎn)動(dòng)畫CAShapeLayer CAGradientLayer
這篇文章主要介紹了iOS漸變圓環(huán)旋轉(zhuǎn)動(dòng)畫CAShapeLayer CAGradientLayer的相關(guān)資料,需要的朋友可以參考下2016-09-09
iOS 對(duì)NSMutableArray進(jìn)行排序和過濾的實(shí)例
下面小編就為大家分享一篇iOS 對(duì)NSMutableArray進(jìn)行排序和過濾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01

