iOS 鍵盤 隱藏系統的 toolBar


有些情況下,我們可能需要隱藏鍵盤,但是保持輸入框的編輯狀態,光標不消失.
比如:在界面上加上語音輸入功能.

    //1.視圖取消編輯態
    [self.view endEditing:YES];

    //2.輸入框取消第一響應
    if ([self.textView canResignFirstResponder]) {
        [self.textView resignFirstResponder];
    }

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

    //替換輸入視圖(隱藏系統鍵盤或可使用自定義)
    _textView.inputView = [[UIView alloc] initWithFrame:CGRectZero];
    _textView.inputAccessoryView = [[UIView alloc] initWithFrame:CGRectZero];
    [_textView reloadInputViews];

    //輸入視圖為系統默認鍵盤
    _textView.inputView = nil;
    _textView.inputAccessoryView =  nil;

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

 

這時候需要用到:

   // iPad + iOS > 9.0 取消鍵盤上的toolbar
    if ([iOSVersion floatValue] >= 9.0 ) {

        UITextInputAssistantItem* item = [_textView inputAssistantItem];
        item.leadingBarButtonGroups = @[];
        item.trailingBarButtonGroups = @[];
    }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM