完善-- iOS之键盘挡住输入框的解决方法

这里实现是如果点击某个TextField的时候整体的View通过计算会向上移动一部分使用户能够看到输入框。(还有一种常用的是用户通过屏幕拖拉让整个view向上滚动,这里不研究)

几个步骤:

1、实现代理UITextFieldDelegate

2、在viewDidLoad中加入

   self.textFiled.delegate =self;(这里的textField是你需要向上移动的输入框的控制对象)

3、在ViewController.m文件中实现UITextFieldDelegate的三个方法:

        textFieldDidBeginEditing

    textFieldShouldReturn

    textFieldDidEndEditing


很简单吧,但在我原来的项目中,1、3步都有,就忘了实现第2步,就没有实现该功能(你需要加几个TextFiled输入框,就加几句2里的代码)。

补充:如果有几个编辑控件就加几个,但这样不利于后面的扩展,每增加一个还要手动在加一行,于是做了一个一劳永逸的方法,在viewDidLoad里面加一个遍历,找出每个控件,然后判断是否为编辑控件,是的话就加入委托。代码如下:

  //遍历view下的控件,如果是TextField的编辑控件就加委托
    for (UIView *subView in self.view.subviews) {
        for (id controll in subView.subviews)
        {            
            if ([controll isKindOfClass:[UITextField class]])
            {               
                [controll setDelegate:self];
            }
        }       
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值