2017-04-03 64 views
0

在風景方向的iPhone上,右下角有一個按鈕可導致鍵盤退出。我真的不希望這個按鈕在那裏,因爲我已經有一個完成按鈕,並且用戶應該只能通過按這個完成按鈕(必須在那裏來解決縱向方向)來停止編輯文本框。我想知道是否有一種方法來刪除鍵盤解僱按鈕,或者如果沒有,我會很感激任何UITextField委託行爲的建議,區分正確解僱(完成按鈕按下)和不當(第一響應可能會辭職即使完成按鈕沒有按下,例如由於上述問題按鈕或視圖控制器解僱)。UITextField iOS:如何處理解僱鍵盤按鈕?

+1

如何解除鍵盤使用鍵盤解僱按鈕被認爲是「不當」?只要對適當的委託方法做出反應。你自己的「完成」按鈕應該做的是辭退第一個響應者。然後你的代表將被調用。 – rmaddy

+0

防止用戶執行某些他們習慣於能夠做的事情是一種惹惱他們的絕對方式。你能否預測每個用戶的習慣如此完美,以至於你可以斷言解僱按鈕應該真的被刪除? – BallpointBen

+0

我想我認爲這是一個非常合理的問題,但從前兩個反應,我懷疑我正在考慮這個錯誤。 我在考慮的問題是兩個按鈕的冗餘(關閉和完成),因爲在我的簡單設置中,用戶只需將文本放入一堆文本字段中,然後點擊提交按鈕即可將結果發送出去。爲此,關閉鍵盤和完成敲擊具有相同的功能:他們辭去第一個響應者,並將用戶迄今爲止寫入的文本留在現場。 –

回答

0

你可以做的一件事是聲明一個變量,如isDismissedProperly,並啓動它到false。然後訂閱鍵盤顯示和隱藏通知。 UIKeyboardDidShowNotificationUIKeyboardDidHideNotification。在完成按鈕的目標方法中(如問題所述),將isDismissedProperly更改爲true。而在keyboardDidHide方法中,您可以檢查isDismissedProperly是否爲真或假。

如果是這樣,那麼用戶按下完成按鈕即可解除鍵盤鎖定。

希望它有幫助!