UITextField被软键盘遮挡的解决办法

Swift 解决软键盘弹出遮挡输入框的问题,使软键盘贴紧输入框下边 import UIKit class ViewController: BaseViewController { @IBOutlet weak var etWifi: UITextField! @IBOutlet weak var etPassword: UITextField! //记录 self.view 的原始 origin.y private ... 阅读详情

做IOS开发时,难免会遇到输入框被键盘遮掩的问题。上网上搜索了很多相关的解决方案,看了很多,但是由衷的觉得太麻烦了。

    有的解决方案是将视图上的所有的东西都添加到一个滚动视图对象( UIScrollView )中,然后滚动视图实现输入框不被软键盘覆盖,个人觉得此方案好是好,但是太过麻烦。

    有的解决方案是通过一个通知 UIKeyboardDidShowNotification 去实现的,需要用到事件监听,而且需要自己定义并实现“将要开始编辑”与“结束编辑”这两个监听事件中的方法。本人也觉得很麻烦。

    参考了很多方法,都不是太理想。自己研究了一下,既然软键盘(Keyboard)出现与否是跟输入框(UITextField)紧密关联的。所以自己找到一个解决方案,没有上述两种方案那么麻烦,只需实现代理UITextFieldDelegate中的三个方法即可。


//开始编辑输入框的时候,软键盘出现,执行此事件
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    CGRect frame = textField.frame;
    int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0);//iPhone键盘高度216,iPad的为352
    
    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];
    [UIView setAnimationDuration:0.3f];
    
    //将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
    if(offset > 0)
        self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
    
    [UIView commitAnimations];
}

//当用户按下return键或者按回车键,keyboard消失
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

//输入框编辑完成以后,将视图恢复到原始状态
-(void)textFieldDidEndEditing:(UITextField *)textField
{
    self.view.frame =CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
}


Android爬坑之旅:软键盘挡住输入框问题的终极解决方案 前言开发做得久了,总免不了会遇到各种坑。 而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑——来来来,我们慢慢看。 阅读详情

相关推荐

IOS 键盘挡住输入框的问题解决办法

主要介绍了IOS 键盘挡住输入框的问题解决办法的相关资料,需要的朋友可以参考下

IOS中输入框被软键盘遮挡的解决办法

做IOS开发时,难免会遇到输入框被键盘遮掩的问题。上网上搜索了很多相关的解决方案,看了很多,但是由衷的觉得太麻烦了。     有的解决方案是将视图上的所有的东西都添加到一个滚动视图对象( UIScrollView )中,然后滚动视图实现输入框不被软键盘覆盖,个人觉得此方案好是好,但是太过麻烦。     有的解决方案是通过一个通知 UIKeyboardDidShowNotification 去实

集结号 5万+

Win11 WSL2 Ubuntu 18.04 ROS Gazebo 图形渲染性能调优:从LLVM到NVIDIA GPU的完整指南

本文详细解决了在Win11 WSL2 Ubuntu 18.04环境中运行ROS Gazebo时图形渲染卡顿的问题。通过诊断默认LLVM软件渲染的瓶颈,指导用户更新Mesa驱动PPA源,并关键性地设置环境变量以强制启用NVIDIA GPU硬件加速,最终显著提升仿真性能与流畅度。

weixin_29204749的博客 281

vant 软键盘_移动端页面输入底部被软键盘遮挡问题

概述近期有个移动端页面的项目,存在需要用户输入的表单信息。因为页面不存在滑动(通过overflow设为hidden的方式),所以在点击input标签输入信息时,在安卓机下键盘会遮挡页面底部内容,当点击键盘时,焦点所在的 input标签才会显示在视区里。在IOS不存在此问题(在软键盘弹出时,页面会自动顶上去),存在滑动的页面里也不存在该问题。目前的解决方案一览通过 window.onresize 监...

weixin_33532631的博客 5856

Box2D-Lite源码阅读笔记(2)

0.初始化函数 static void InitDemo(int index) { world.Clear(); numBodies = 0; numJoints = 0; bomb = NULL; demoIndex = index; demos[index](bodies, joints); } 在这个初始化函数中,一般会默认执行index=0的函数,这个函数就是一个示例,因为示例比较简单,所以也便于研究,示例效果如下。 就是一个方块。 进入第一个示例函数。(忽略我加的注释)

ARTELE的博客 975

保姆级教程:在NXPS32144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境

本文提供了一份详细的保姆级教程,指导如何在NXP S32K144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境。内容涵盖从前期资源准备、软件安装步骤、核心的MCAL关联配置,到首次创建AUTOSAR工程并进行模块配置的全流程,旨在帮助汽车电子开发者搭建稳定、可用的底层软件开发地基。

wind6的博客 954

iOS UITextField控件

UITextField在界面中显示可编辑文本区域的对象。 1. 基本属性 属性 说明 text 设置文本 attributedText 设置富文本 textColor 设置文本的颜色 font 设置文本的字体 textAlignment 设置文本的对齐方式 placeholder 设置占位文本,默认颜色是灰色 attributedPlaceholder 设置富文本占位文本 secureTextEntry 设置编辑框中的内容密码显示,默认是NO clearsOn

假装你是大灰狼的专栏 1061

CFturbo 2024保姆级教程:从流量扬程到三维叶轮,手把手搞定离心泵水力设计

本文提供CFturbo 2024离心泵水力设计的全流程实战指南,从流量扬程参数输入到三维叶轮模型导出,详细解析设计步骤与优化技巧。涵盖叶轮尺寸确定、子午面型线设计、叶片角度调整等关键环节,帮助工程师高效完成CAE辅助的离心泵水力设计,提升设计质量与效率。

weixin_42569329的博客 921

IOS 软键盘不遮挡UITextField方法

经常在有多个文本输入的界面出现软键盘遮挡UITextFiled的情况,解决方法如下: 1.设置UITextFiled类的代理 2.实现UITextFiledDelegate中的 - (void)textFieldDidBeginEditing:(UITextField *)textField和 - (BOOL)textFieldShouldReturn:(UITextField *)tex

liangdong520的专栏 1017

深度学习暑期科研项目(两个月发EI论文)

对本科生而言,越早接触系统的科研训练开始上手科研项目,就越能在未来的升学求职中占据很大的优势。暑假是提升个人简历、丰富科研经历的最佳时期!哈尔滨工业大学博士师兄也会在8月1日开始带大家上手科研项目,并撰写发表EI会议论文。

Magnolia_He的博客 1441

逆向工具:一文讲述 Ghidra 的详细使用

Ghidra是由NSA开源的一款功能强大的逆向工程框架,支持多平台、多架构和多种文件格式分析。本文详细介绍了Ghidra的核心优势、安装配置方法、主界面功能模块,并通过一个CrackMe示例演示了完整的逆向分析流程。文章还讲解了高级功能如交叉引用、控制流图分析、数据类型重建和脚本自动化等,最后提供了常见文件格式的分析技巧。作为IDA Pro的免费替代方案,Ghidra适合个人学习、教学和中小项目使用。(149字)

数据知道的博客 4337

UITextField 与 keyboard (软键盘)

当点击UITextField的时候 软键盘会自动弹出,有时软键盘遮挡住一些视图组件,那怎么办呐, 在UITextField被点击的时候,就会触发  Did   End  Begin事件, 只要编辑相应的方法,在 试图编辑窗口中 左键 拉动到  “File's  Owner” 上选择相应的自己定义的方法就可以了。   还要一种方法: 就是实现 UITextFieldDelegate

1097195326的专栏 868

手把手教你学simulink--永磁同步电机场景实例:使用Simulink进行PMSM的矢量控制仿真

矢量控制的重要性提高效率:通过精确控制磁场方向,可以优化电机的工作状态,减少损耗。增强动态性能:矢量控制能够快速响应负载变化,提供更好的调速性能。简化设计:将复杂的交流电机控制问题转化为类似直流电机的控制问题,便于设计和实现。通过上述步骤,我们简要介绍了如何基于Simulink实现PMSM的矢量控制仿真。

MHD0815的博客 418

iphone 中打开或关闭软键盘时调整 UIScrollView 的大小

    在一个View中,UITextField较多且打开软键盘时,在屏幕底部的TextField可能会被软键盘挡住。为解决这个问题,需要将这个View中的所有控件放包在一个UIScrollView中。1. 创建ScrollView对象可以用下面的方法方便的创建ScrollView:用InterfaceBuilder打开你的XIB文件选中所有控件选择菜单:Layout → Embed Objects In → Scroll View执行过上面的操作后,InterfaceBuild会自动创建一个UIScrol

sokopet的专栏 3229

USB 基础学习:USB 电气信号介绍

USB电气信号技术解析 USB通信的核心是差分信号传输技术,通过D+和D-两根线传输相位相反的电压信号实现数据通信。USB信号系统包含三类关键信号:差分数据信号(抗干扰性强)、单端状态信号(用于设备识别)和电源信号(提供5V供电)。USB2.0采用400mV电压摆幅和NRZI编码,支持低速(1.5Mbps)至高速(480Mbps)传输;USB3.0则新增专用差分对,数据速率可达20Gbps。物理层通过上拉/下拉电阻检测设备连接,高速模式需特殊握手协议。抗干扰设计的关键在于保持差分线等长、阻抗匹配和使用共模扼

浩瀚之水的专栏 1782

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何解决Keyboard 遮挡 UITextField的问题?

如何解决Keyboard 遮挡 UITextField的问题? 原文出自: http://www.cocoachina.com/bbs/read.php?tid-30877.html 1、添加     [[NSNotificationCenter defau

i3039的专栏 932

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

iOS UITextField,UITextView键盘遮挡问题

//开始编辑输入框的时候,软键盘出现,执行此事件 -(void)textFieldDidBeginEditing:(UITextField *)textField{     CGRect frame = textField.frame;     int offset = frame.origin.y + 100 - (Height - 360.0);//键盘高度     NSTi

iCHENKE 1066

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

iOS UITableViewCell内嵌UITextField

内嵌,我们想要在列表中输入编辑内容。

假装你是大灰狼的专栏 787

iPhone 中打开或关闭软键盘时调整 UIScrollView 的大小

在一个View中,UITextField较多且打开软键盘时,在屏幕底部的TextField可能会被软键盘挡住。为解决这个问题,需要将这个View中的所有控件放包在一个UIScrollView中。 1. 创建ScrollView对象   可以用下面的方法方便的创建ScrollView: 用InterfaceBuilder打开你的XIB文件选中所有控件选择菜单:Layout →

沐铭的专栏 680

iOS 中打开或关闭软键盘时调整 UIScrollView 的大小

<br /> <br />在一个View中,UITextField较多且打开软键盘时,在屏幕底部的TextField可能会被软键盘挡住。为解决这个问题,需要将这个View中的所有控件放包在一个UIScrollView中。<br /> 1. 创建ScrollView对象<br />可以用下面的方法方便的创建ScrollView:用InterfaceBuilder打开XIB文件选中所有控件选择菜单:Layout → Embed Objects In → Scroll View选中Srcoll View控件,执行

wangsoko的专栏 3468

ios 解决键盘挡住UITextField的问题

在IOS开发中,如果输入框

小伞的窝 783

转载:IOS中输入框被软键盘遮挡的解决办法

做IOS开发时,难免会遇到输入框被键盘遮掩的问题。上网上搜索了很多相关的解决方案,看了很多,但是由衷的觉得太麻烦了。 有的解决方案是将视图上的所有的东西都添加到一个滚动视图对象(UIScrollView)中,然后滚动视图实现输入框不被软键盘覆盖,个人觉得此方案好是好,但是太过麻烦。 有的解决方案是通过一个通知UIKeyboardDidShowNotification去实现的,需要...

iteye_8029的博客 143
上一篇: hitTest:withEvent:和pointInside:withEvent:
下一篇: 获取UUID,类似于Microsoft的GUID
一秀
博客等级 码龄14年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值