zoukankan      html  css  js  c++  java
  • IQKeyboardManager 控制键盘的类库

    这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        
        IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
        manager.enable = YES;
        manager.shouldResignOnTouchOutside = YES;
        manager.shouldToolbarUsesTextFieldTintColor = YES;
        manager.enableAutoToolbar = NO;
        
        return YES;
    }

    enable控制整个功能是否启用。

    shouldResignOnTouchOutside控制点击背景是否收起键盘。

    shouldToolbarUsesTextFieldTintColor 控制键盘上的工具条文字颜色是否用户自定义。

    enableAutoToolbar控制是否显示键盘上的工具条。

    以上设置,就启用了这个库。

    使用方法,代码如下:

    #import "ViewController.h"
    
    @interface ViewController ()
    
    @property (nonatomic, strong) IQKeyboardReturnKeyHandler    *returnKeyHandler;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.returnKeyHandler = [[IQKeyboardReturnKeyHandler alloc] initWithViewController:self];
        self.returnKeyHandler.lastTextFieldReturnKeyType = UIReturnKeyDone;
        self.returnKeyHandler.toolbarManageBehaviour = IQAutoToolbarBySubviews;
    }
    
    - (void)dealloc
    {
        self.returnKeyHandler = nil;
    }
    
    @end

    设置returnKeyHandler,可以点击键盘上的next键,自动跳到下一个输入框。最后一个输入框点击done自动收起键盘。

    运行后,可以看到输入框随着键盘的弹出自动上下浮动。点击背景,键盘收起。全自动了。

    这个库默认支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView

    最后要注意一点,它可以自动计算多个textField之间的先后顺序,排列依据是看addSubView的先后顺序。

    1
  • 相关阅读:
    ansible-playbook最佳实践
    zabbix 优化之 表分区
    ansible-playbook 打通ssh无秘钥
    jQuery 1.9 移除了 $.browser 的替代方法
    也谈前端基础设施建设
    滚动视差网站欣赏
    css常见的快捷开发代码汇总(长期更新)
    如何让搜索引擎抓取AJAX内容?
    Bookmarklet编写指南
    20个网页设计师应该学习的CSS3经典教程实例
  • 原文地址:https://www.cnblogs.com/fantasy3588/p/5602548.html
Copyright © 2011-2022 走看看