zoukankan      html  css  js  c++  java
  • 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 = @[];
        }
    

      

  • 相关阅读:
    P2009 跑步
    P3916 图的遍历
    P2865 [USACO06NOV]路障Roadblocks
    P2820 局域网
    P2176 [USACO14FEB]路障Roadblock
    讨伐!数论
    网络流入门——EK算法
    最被低估的特质
    我的天哪我有博客了!
    Area POJ
  • 原文地址:https://www.cnblogs.com/saytome/p/7997513.html
Copyright © 2011-2022 走看看