2015年1月21日 星期三

Swift iOS 輸入完後 讓虛擬鍵盤消失

假設今天我們使用UITextField來做輸入
iOS裝置會跳出一個虛擬鍵盤

我們要如何讓使用者輸入完畢後
按下畫面的其他地方 就讓鍵盤自動消失呢?
(原本iOS是不會讓它彈回去的哦)
如果是這樣的話 這個比較簡單 可以參考以下的程式碼
在你的UIViewController中 重寫touchEnded這個方法
並在裡面叫你的UITextField resignFirstResponder()
就能讓虛擬鍵盤退回去囉

而若是要按下return後 就讓鍵盤消失
則必須要這樣子做 (原先iOS也不會自己消失)
先在UIViewController使用UItextFieldDelegate這個協定
(協定protocol其實就像是Java的介面Interface)
再來讓我們的UITextField可以操作到這個協定
那因為協定是訂在UIViewController身上 所以我們使用self來取得
接著再重寫這個textFieldShouldReturn方法
然後裡面讓他resignFirstResponder()
就完成囉!

參考網址:http://www.imooc.com/video/3704

沒有留言:

張貼留言