简单完美的解决键盘遮挡输入框的问题

    开发时页面中会有很多输入框,不可避免的会有键盘弹出时挡住输入框的情况(还有iPhone尺寸,键盘的高度不一致等原因)。
    一般做法是监听键盘弹出和隐藏的通知,弹出时让view上移一部分(键盘的高度),隐藏时view下移一部分。
    还有做法就是在textField的代理方法中上移view和下移view,在- (void)textFieldDidBeginEditing:(UITextField *)textField中上移view,在- (void)textFieldDidEndEditing:(UITextField *)textField中下移view。
    但是,这两种做法都不能完美解决我们标题的问题。
    我的做法是将上面两种方法结合,通过通知获得键盘的高度,通过textField的代理方法我们能知道是哪一个textField,然后将这个textField的frame转化到控制器的view的frame,这样我们就可以比较适否被遮挡,遮挡的话进行上移等等。

    解决方法:创建一个控制器,作为其他控制器的基类,这样其他控制器中的输入框只要设置了delegateself就不用写多余代码。

#import "YTUIViewController.h"
#import "Define.h"

@interface YTUIViewController ()
{
    CGFloat viewBottom;     //textField的底部
    CGFloat keyboardDuration;   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值