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

本文共 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

你可能感兴趣的文章
《容器技术系列》一1.1 引言
查看>>
编程语言:变革创业思维的工具
查看>>
第一个libgdx程序--仿别踩白块
查看>>
一个开源项目维护者的笔记 — 为什么我关闭 PRs
查看>>
技术人员要失业?未来80% IT 工作将自动化
查看>>
Apache Spark机器学习.1.4 MLlib
查看>>
腾讯Android自动化测试实战3.1.1 什么是Robotium
查看>>
《Wireshark网络分析的艺术》—被误解的TCP
查看>>
《Linux防火墙(第4版)》——1.4 地址解析协议(ARP)
查看>>
《乐在C语言》一1.5 关键词
查看>>
Oracle内核技术揭密
查看>>
《软件工程(第4版?修订版)》—第1章1.3节什么是好的软件
查看>>
《PHP、MySQL和Apache入门经典(第5版)》一一2.7 基本安全规则
查看>>
《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——2.5 3GPP2...
查看>>
《深入理解JavaScript》——2.6 JavaScript是广泛使用的吗
查看>>
Velocity官方指南-应用程序的属性
查看>>
《流量的秘密: Google Analytics网站分析与优化技巧(第3版)》一1.7 网站分析在企业中的位置...
查看>>
Xmemcached 1.2.2发布——支持遍历所有key
查看>>
Spark Streaming 1.6 流式状态管理分析
查看>>
ANTLR快餐教程(2) - ANTLR其实很简单
查看>>