zoukankan      html  css  js  c++  java
  • iOS 关于tableView中有多个textField,输入框被遮住的解决方法

    这里采用tableView整体上移的方法。

    代码:(其中 60 为 单元格的高度)

    //点击输入框触发
    - (void)textFieldDidBeginEditing:(UITextField *)textField{
        //键盘高度
        CGFloat keyboardHeight = 216.0f;
        //获取tag
        NSLog(@"hhhhh === %d",textField.tag);
        //判断键盘高度是否遮住输入框,具体超过多少距离,移动多少距离(自己算好就可以,不一定和这里一样)
        if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < 0 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -60) {
            
            [self.tableViews setContentOffset:CGPointMake(0, 50) animated:YES];
        }
        else if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < -60 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -120)
        {
            [self.tableViews setContentOffset:CGPointMake(0, 110) animated:YES];
        }
        else if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < -120 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -180)
        {
            [self.tableViews setContentOffset:CGPointMake(0, 170) animated:YES];
        }
    }
    
    //键盘收回触发
    - (void)textFieldDidEndEditing:(UITextField *)textField{
         //回归原处
        [self.tableViews setContentOffset:CGPointMake(0, 0) animated:YES];
    
    }
  • 相关阅读:
    IDEA使用-多线程调试
    IDEA使用-设置条件断点
    msyql定时备份数据库
    Jenkins配置详解
    Redis学习笔记
    if/else的几种优化方式
    【Linux】开放指定端口
    IDEA首次使用Git
    Navicat 快捷键使用
    IDEA远程调试Linux服务器上代码
  • 原文地址:https://www.cnblogs.com/DWdan/p/4767030.html
Copyright © 2011-2022 走看看