iOS 防止键盘遮住UITextField

作者: mayChunJ | 来源:发表于2016-08-02 00:04 被阅读625次

最近整理了一些在项目中常用的工具类,整理到了这个感觉在项目里面挺常用的,于是就在这里分享出来。

先看一下demo 效果:

接下来看是怎么实现的吧!!!

 我在demo实现了一个viewcontroller的扩展 在这个扩展里面实现了几个方法。

-(void)registerViewForKeyboardNotifications;

-(void)resignViewForKeyboardNotifications;

这两个方法分别注册注销系统键盘弹出和消失的通知

接下来实现了

-(void)keyboardwillShow:(NSNotification*)notification 这个方法获取了键盘弹出的时间 和 键盘的frame

-(void)keyboardwillHide:(NSNotification*)notification

最后在.m文件中 实现了两个空方法(相当于代理方法)

使用方法 

1.新建一个ViewController,添加UITextField 实现delegate ,分别实现

-(void)keyboardWithShow:(CGFloat)time key_height:(CGRect)keyRect

-(void)keyboardWithHide:(CGFloat)time

两个方法。

当键盘弹出时候,会调用keyboardWithShow方法,我们在这个方法里,判断键盘是否挡住输入框,如果挡住,整个视图就上移。

同理,键盘消失时,会调用keyboardWithHide方法。把视图回复原状。

下面是demo地址,如有不明白可以下载键盘弹出或者评论问我

相关文章

网友评论

  • First灬DKS:下载下来的工程无法使用,里面的文件丢失
  • PPAbner:思路我喜欢good
  • d9431116937e:不用这么复杂,监听frameWillChange就好了,动画时间应该是通知传过来字典中的duration,然后建议把frame设置写在外面,动画中直接调用layoutIfNeeds即可
  • 混不吝丶:git 工程打不开
    混不吝丶:@mayChunJ 7.2

    工程启动程序也没有
    mayChunJ:@混不吝丶 你xcode 什么版本
    mayChunJ:@混不吝丶 下不了么

本文标题:iOS 防止键盘遮住UITextField

本文链接:https://www.haomeiwen.com/subject/lvhfsttx.html