iOS 隱藏鍵盤, 保持游標 編輯態 方法

2021-07-26 09:47:18 字數 973 閱讀 7652

有些情況下,我們可能需要隱藏鍵盤,但是保持輸入框的編輯狀態,游標不消失.

比如:在介面上加上語音輸入功能.

通常取消鍵盤的做法:
//1.檢視取消編輯態

[self

.view endediting:yes];

//2.輸入框取消第一響應

if ([self

.textview canresignfirstresponder])

以上方法, 雖然成功的隱藏鍵盤, 但是其原理都是通過取消輸入框的第一響應實現的.而取消了輸入框的響應狀態, 自然游標就消失, 如果需要保持游標, 就需要用到:

//替換輸入檢視(隱藏系統鍵盤或可使用自定義)

_textview.inputview = [[uiview alloc] initwithframe:cgrectzero];

_textview.inputaccessoryview = [[uiview alloc] initwithframe:cgrectzero];

[_textview reloadinputviews];

//輸入檢視為系統預設鍵盤

_textview.inputview = nil;

_textview.inputaccessoryview = nil;

使用以上方法, 在ipad + ios 9 以上系統中, 會在鍵盤上方出現*******無法取消的情況:

這時候需要用到:

// ipad + ios > 9.0 取消鍵盤上的*******

if ([iosversion floatvalue] >= 9.0 )

the en

iOS 鍵盤顯示與隱藏

目前我所接觸到的鍵盤處理方法有兩種,第一種是通過約束,第二種是通過transform。監聽鍵盤通知 void viewdidload void dealloc pragma mark 鍵盤處理 void keyboardwillshow nsnotification note void keyboa...

iOS 實現隱藏系統鍵盤

實現隱藏系統鍵盤,顯示自定義鍵盤吧 uitextfield獲取焦點時,進入textfieldshouldbeginediting方法,在這個方法中註冊兩個通知 nsnotificationcenter defaultcenter addobserver self selector selector ...

EditText游標控制和軟鍵盤隱藏

edittext android id id vercodeedit android cursorvisible false 布局屬性 直接可以設定游標是否顯示 false為隱藏 true為顯示vercodeedit.setontouchlistener new view.ontouchlisten...