博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决IQKeyboard键盘引起的视图上移
阅读量:6599 次
发布时间:2019-06-24

本文共 1624 字,大约阅读时间需要 5 分钟。

由于IQKeyboard键盘功能强大,所有很多人都在用,但难免会和项目有冲突,比如整体视图上移。。。 下面说一下我的解决方案,为了不影响其他页面的使用,所以在使用的页面停掉IQKeyboard键盘,然后自己监听键盘弹出的方法,来执行操作

首先在引入IQKeyboard键盘的头文件1.在页面出现时关闭键盘,在页面消失开启键盘,不影响其他页面键盘的使用-(void)viewWillAppear:(BOOL)animated {        //关闭键盘事件相应    [IQKeyboardManager sharedManager].enable = NO;}-(void)viewWillDisappear: (BOOL)animated {        //打开键盘事件相应    [IQKeyboardManager sharedManager].enable = YES;}2.在viewDidLoad监听键盘的弹出和消失事件//键盘将要显示时候的通知    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(boardWillShow:) name:UIKeyboardWillShowNotification object:nil];    //键盘将要结束时候的通知    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(boardDidHide:) name:UIKeyboardWillHideNotification object:nil];3.执行监听事件的方法,进行相应的操作//键盘将要显示-(void)boardWillShow:(NSNotification *)notification{        //获取键盘高度,    CGFloat kbHeight = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;      //键盘弹出的时间[[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]    [UIView animateWithDuration:[[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{              //改变输入框的y值和view的高度        self.bottomView.y = kHeight - 50 - kbHeight;        self.mainTableView.height = kHeight - 50 - kbHeight;            }];    }//键盘将要结束-(void)boardDidHide:(NSNotification *)notification{         //恢复输入框的y值和view的高度    self.bottomView.y = kHeight - 50 ;    self.mainTableView.height = kHeight - 50;    self.messageView.placeholder = @"请输入留言信息";    }复制代码

转载于:https://juejin.im/post/5a311bc56fb9a0450b66635c

你可能感兴趣的文章
图形数据库公司 Neo4j 获得 E 轮 8000 万美元融资
查看>>
MariaDB CEO 痛斥云厂商对开源的无尽掠夺,从不回馈社区
查看>>
修改yarn监控web页面上展示的StartFime和FinishTime【GMT时间】
查看>>
用Python完成Excel的常用操作
查看>>
Google在线深度学习神器Colab
查看>>
欧盟百万欧元悬赏开源软件漏洞惹争议,被评本末倒置
查看>>
微软职位内部推荐-Software Development Engineer
查看>>
慧安金科完成1亿元A轮融资,创新工场领投
查看>>
Auto Scaling控制台新变化:创建多可用区的伸缩组
查看>>
Spring Cloud的核心特性
查看>>
网站的伸缩性架构
查看>>
编程艺术是,而且一直以来都是 —— 语言设计艺术。
查看>>
python网络编程基础
查看>>
hadoop发行版本之间的区别
查看>>
阿里云安全算法大赛震撼启动 这次玩的是“实战”
查看>>
Kubernetes如何选择存储以及什么方式使用存储
查看>>
HyperLedger Fabric ChainCode开发——shim.ChaincodeStubInterface用法
查看>>
重构才是写代码,需求只是干活。
查看>>
基本数据结构和算法回顾
查看>>
【Java入门提高篇】Day28 Java容器类详解(十)LinkedHashMap详解
查看>>