使用textField和textView時在模擬器上沒有辦法關閉鍵盤攘乒,這是剛開始比較容易碰到的問題贤牛,有幾個方法,但核心都是textField则酝,textView放棄第一響應者殉簸,即調用resignFirstResponder方法。
方法一:
給textField添加一個Did End On Exit事件,這是在textField輸入完畢喂链,點擊鍵盤Done按鈕后妥泉,會觸發(fā)的事件椭微。
截圖1
方法二:
比較笨拙的方法,放一個覆蓋整個視圖的透明按鈕蝇率,將其置于視圖最底層,添加事件Touch Down或Touch Up Inside(后面講區(qū)別)刽沾,實現這個方法:
截圖2
方法三:(從《精通iOS開發(fā)》 (第7版)David Mark, Jack Nutting等著] 這本書中學習到 )
將view所指向的對象所屬的類由UIView改為UIControl(UIControl是UIView的子類)
截圖3
截圖4
修改后就可以看到本慕,view也可以添加事件了:
截圖5
截圖6
Touch Up Inside和Touch Down的區(qū)別:
Touch Up Inside是按鈕最常用的響應事件,意思是點擊了按鈕侧漓,松開手后仍然停留在按鈕的范圍內才會觸發(fā)锅尘。我們很多人都有這樣一種體驗,就是點擊了按鈕布蔗,然后突然間又不想這么做了藤违,就把手挪開到別的地方再松開,它就沒有觸發(fā)任何事件纵揍,它給予用戶再次考慮的機會顿乒。
Touch Down是點擊了之后,馬上觸發(fā)事件泽谨。如果是使用第2璧榄、第3種方法,響應這個事件會更加合理吧雹。