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