總結IOS中隱藏軟鍵盤的三種方式_IOS

來源:互聯網
上載者:User

一、使用軟鍵盤的 Done 鍵隱藏鍵盤

出發軟鍵盤隱藏最常用的事件是文字框的 Did End on Exit,它在使用者按軟鍵盤中的 Done 鍵時發生。選中一個UITextField控制項,點擊滑鼠右鍵彈出面板,滑鼠左鍵按住 Did End on Exit 事件旁邊的圓圈,然後拖曳到右側 .h 檔案中,命名為 CloseTheKeyBoard,在 m 檔案中具體實現如下圖所示(此處同時顯示 .h 檔案與 .m 檔案):

當頁面中有很多個文字框時,如果每次都需要點文字框啟用軟鍵盤、輸入後點擊Return隱藏軟鍵盤、再點擊下一個文字框……這樣操作起來太繁瑣了。 於是我們希望能夠實現點擊Return時能夠自動轉到下一個文字框。尤其是對於最後一個文字框,希望能夠在點擊Return時執行下一步操作。

例如對於登入頁面。它上面有帳號文字框(nameTextField)、密碼文字框(passTextField)、登入按鈕(loginBtn)。
我們希望——點擊帳號文字框軟鍵盤的Return時跳轉到密碼文字框,點擊密碼文字框軟鍵盤的Return時執行登入。
因為這兩個文字框的功能不同,不能像上一節那樣寫一個CloseTheKeyBoard做統一處理,而應該分別建立各自的事件處理方法。

回到storyboard,右擊帳號文字框彈出面板,按住Did End on Exit事件旁邊的圓圈,然後拖曳到右側.h檔案的空白地方,此時會彈出一個對話方塊給方法命名。輸入名稱 (CloseTheKeyBoard)後斷行符號確定,便自動產生了該事件方法。

隨後按照同樣的做法,為密碼文字框(passTextField)的Did End on Exit事件串連方法(passwordTextField)。

對於帳號文字框轉密碼文字框,不需要隱藏軟鍵盤,只需要調用becomeFirstResponder啟用新的文字框就行了。

對於密碼文字框Return後執行登入。因為不再需要顯示軟鍵盤,所以還是得調用resignFirstResponder隱藏軟鍵盤,然後觸發登入按鈕(loginBtn)的UIControlEventTouchUpInside事件進行登入。

運行一下,可發現已經達到我們希望的效果了。點擊帳號文字框軟鍵盤的Return時跳轉到密碼文字框,點擊密碼文字框軟鍵盤的Return時執行登入。

怎麼都是“Return”,轉換文字框與執行登入明明是不同的功能?

於是將帳號文字框的Return Key屬性設為“Next”,將密碼文字框的Return Key屬性設為“Done”,使介面與功能一致。

二、輕觸背景隱藏軟鍵盤(Touch Down事件觸發)

在storyboard,點擊背景View,將它的Custom Class設定為UIControl,這樣才會出現Touch Down事件。右擊背景View彈出面板,按住Touch Down事件旁邊的圓圈,然後拖曳到右側.h檔案的空白地方建立該事件的處理方法。

三、輕觸背景隱藏軟鍵盤(通過背景透明大按鈕觸發)

將視圖庫中的 Button 控制項拖動到設計介面,將 Button 控制項的大小進行調整,使其可以覆蓋整個設計介面。選擇功能表列中的Editor|Arrange|Send to Back 命令,將 Button 控制項放在所有控制項的後面。將 Button 控制項的標題雙擊進行刪除,將按鈕與 .h 檔案進行 hideKeyBoard 動作關聯,將使用者設計介面的文字框控制項與插座變數 myTextField 進行關聯。 具體代碼如下圖:

四、總結

以上就是自身總結的IOS隱藏軟鍵盤的三種方法,後續會陸續整理一些其他技巧與方法,感興趣的朋友們可以繼續關注云棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.