2014-09-01 94 views
0

我正在爲iOS8製作自定義鍵盤,並且我設法使用我自己的返回鍵,使用 [self.textDocumentProxy insertText:@「\ n」];iOS 8自定義鍵盤防止關閉返回鍵

但是,這也解僱了我不想要的鍵盤。 我需要鍵盤繼續。

我試圖讓我的UIInputViewController委託UItextField訪問textfieldShouldEndEditing委託方法,但它從來沒有被解僱。 似乎不可能從自定義鍵盤訪問當前編輯的UITextfield。

當我按下回車鍵時,有什麼辦法可以防止鍵盤退出嗎?

乾杯,

+0

在哪個應用程序中發生這種情況?我在Simulator的日曆應用程序中測試了相同的內容(調用insertText:@「\ n」),並且它按預期工作。在諸如「標題」的單行字段中,鍵盤被取消,而在諸如「註釋」的多行字段中,會輸入新行並且鍵盤保持打開狀態。不幸的是,我目前無法在設備上進行測試。 – 2014-09-03 19:04:34

+0

我得到了和你一樣的結果。 但我想要的是一種像用戶按下輸入但不關閉鍵盤的方式。 例如,在Google中,鍵盤輸入文本「Hello World」,然後用戶按下我鍵盤上的回車鍵。 然後它需要像用戶按下輸入(因此谷歌加載他的網頁搜索結果「Hello World」),但鍵盤需要保持。 和insertText:@「\ n」自動關閉鍵盤。 – Mx83 2014-09-03 22:57:39

+0

您無法覆蓋鍵盤的默認行爲。如果在某些情況下出現或解除了默認的iOS鍵盤,那麼您的鍵盤也會在相同的情況下出現或解散。你不能改變這一點 - 這是設計。 – 2014-09-04 03:52:30

回答

3

顯示/駁回鍵盤 - 是否默認iOS或自定義擴展 - 是應用控制的行爲(因此的UITextField委託方法),並且不能由鍵盤本身進行控制。

鍵盤和宿主應用程序運行在獨立的沙盒進程中,不能直接相互控制。應用程序/鍵盤相互交互的方法只有Apple公開的方法,並且目前這些方法不包括鍵盤擴展在顯示或隱藏時控制的方法。