iOS进阶iOS学习专题iOS 开发

iOS 防止键盘遮住UITextField

2016-08-02  本文已影响625人  mayChunJ

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

先看一下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地址,如有不明白可以下载键盘弹出或者评论问我

上一篇下一篇

猜你喜欢

热点阅读