IOS UITableView中UITextField 弹出键盘时,界面上移

项目难点:解决IOS调起软键盘之后页面样式布局错乱问题 本文分享了开发移动端问卷系统时遇到的iOS软键盘兼容性问题及解决方案。在项目开发过程中,由于大量使用fixed定位,导致iOS设备上输入框聚焦后页面布局错乱、无法再次选中等问题。通过查阅文档和请教同事,最终采用两个属性组合方案,并针对iOS系统进行条件判断后全局应用,成功解决了这一兼容性问题。该方案既避免了影响安卓系统,又有效修复了iOS设备上的键盘弹起异常问题。 阅读详情

IOS 中键盘遮挡住UITextField的输入框,导致用户体验不好,一直是IOS的难点所在。
自学IOS时间不长,对于这个问题,如下是我的方法,仅供参考。
如果UITextField位于屏幕下方,键盘弹出时会挡住UITextField,建议将UITextField放入UIScrollview或UITableView中。

废话不多说,直接上代码

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        //add notification for keyboard did change frame
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "didChangeKeyboardFrame:", name: UIKeyboardDidChangeFrameNotification, object: nil)

        //add notification for keyboard did hide
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "didHideKeyboard:", name: UIKeyboardDidHideNotification, object: nil)
    }
    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)

        //remove keyboard observer
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }
    func didChangeKeyboardFrame(notification: NSNotification) {
        let rect = notification.userInfo![UIKeyboardFrameEndUserInfoKey]!.CGRectValue
        let height = rect.size.height
        var insets = self.tableView.contentInset
        insets.bottom = height
        self.tableView.contentInset = insets
        insets = self.tableView.scrollIndicatorInsets
        insets.bottom = height
        self.tableView.scrollIndicatorInsets = insets
    }

    func didHideKeyboard(notification: NSNotification) {
        var insets = self.tableView.contentInset
        insets.bottom = 0.0
        self.tableView.contentInset = insets
        insets = self.tableView.scrollIndicatorInsets
        insets.bottom = 0.0
        self.tableView.scrollIndicatorInsets = insets
    }

以上代码的tableView可以换成自己的scrollView。
UIScrollView contentInset : 视图在scrollView中的位置
UIScrollView scrollIndicatorInsets : 指定滚动条在scrollerView中的位置

8位可控加减法电路设计 一、设计要求   利用Logisim平台中现有运算部件构建一个8位可控加减法器,可支持八位加减法,利用已经封装全加器和逻辑门进行连接,要求实现相应的输出,判断是否溢出。 二、方案设计 实验原理: [A]补+[B]补 = [A+B]补(mod2^n+1)   公式1        [A-B]补 = [A]补+[-B]补(mod2^n+1)    公式2 FA为全加器,利用全加器实现加减法,难点在于实验减法,对输入的[Y]补各位取反加一即为[-Y]补,利用公式2,就可以将减法转化为加法再利用全加 阅读详情

相关推荐

【k8s面试】超详细kubernetes面试题总结,面试必问!(附200道K8s Docker面试真题+答案详解

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

2401_83620959的博客 1465

UniApp中input组件在IOS设备上弹出软键盘时页面整体上移问题的解决方案,以及input组件聚焦后弹出软键盘固定在软键盘上方,失去聚焦后回到原始位置。

问题:弹出软键盘,整体页面上移!解决:在input组件设置:adjust-position=“false”解决新问题:input组件被软键盘覆盖,没有固定在软键盘上方。解决:根据聚焦事件@focus和失去焦点事件@blur去操作输入框的bottom。ps:需要设置好输入框为固定定位或绝对定位!foot样式:设置了固定定位fixed完成上面操作后,即可伸缩自如!

番茄Salad 8754

迪文串口屏开发环境搭建全流程:从DGUS Tool到串口联调

串口屏作为嵌入式人机交互的核心组件,通过串口通信实现主控MCU与显示终端的指令交互。其工作原理基于变量地址映射,主控读写VP地址即可驱动屏上控件,兼具低功耗与高稳定性。在工业控制、医疗设备及智能家居面板等场景中,串口屏能显著降低开发门槛与硬件成本。迪文屏凭借DGUS Tool上位机与自定义串口协议,成为主流选择。掌握DGUS Tool版本匹配、串口驱动安装及VP地址规划,是快速搭建开发环境的关键。

weixin_33937499的博客 603

处理 ios端 输入框拉起键盘页面上移的问题

解决 H5 IOS input 聚焦时,页面整个被推上去了,键盘收起页面未下移 BUG

Rob_gao的博客 3172

ROS相机内参标定详细步骤指南

相机标定的目的是为了确定相机内部参数和外部参数,以便修正图像并将图像坐标映射到世界坐标,或者从世界坐标映射到图像坐标。这个过程是计算机视觉和三维感知任务的关键步骤之一,它有以下主要目的: 1. **减小畸变**:相机镜头和传感器可能引入径向和切向畸变,使得图像中的直线变得弯曲或者物体的形状不准确。通过标定相机,可以矫正这些畸变,使图像更准确。

m0_56661101的博客 1万+

告别QWebEngineView!用QtLocation+SQLite打造离线地图应用(附完整源码)

本文详细介绍了如何利用QtLocation模块与SQLite数据库构建高性能离线地图引擎,解决传统QWebEngineView方案在网络依赖、内存占用和定制化方面的不足。通过多级缓存机制、异步写入优化和纹理压缩技术,实现工业级应用的稳定运行和高效渲染,特别适合车载导航和野外勘探等场景。

weixin_30431445的博客 362

iOS 键盘弹出页面上移

通知获取到键盘的高度和键盘弹出的duration, 我们上移页面frame的时候也用这个。就是通过系统的一个通知,获取到键盘即将展示,和即将消失的时机,并通过。duration,就能产生和键盘同步移动的效果,下面是代码。在监听方法中修改视图的frame。

liubo的博客 819

海康VM加密狗无法识别常见问题排查

海康VM加密狗无法识别常见问题排查

视觉人机器视觉的博客 2710

h5 ios键盘弹出 布局上移

请注意,这个示例是一个简化的解决方案,实际应用时可能需要根据具体的页面布局和需求进行调整。此外,键盘的高度估算(15%)可能也需要进行相应的调整,以更精确地适应不同的设备和键盘情况。在iOS设备上,当HTML表单输入框获得焦点时,原生键盘会弹出,这可能导致页面布局发生变化,特别是当键盘比较高时,页面内容可能被上移,以便让输入框可见。在键盘弹出时,通过JavaScript检测视口的高度,如果发现有明显的变化,可以通过CSS或JavaScript调整布局,以确保输入框始终可见。

qq_38920348的博客 2345

立体仓库WCS控制系统-AGV通信代码

string str = "任务下发,WCS->NT8000(q-Message),ikey:" + p.ikey.ToString() + "fromStation:" + p.fromStation.ToString() + "toStation:" + p.toStation.ToString();if (nt8000.Connect(_ServerAddr, _ServerPort)) QueueSpeech.AddQueue(string.Format("与NT8000重连成功"));

xdpcxq的专栏 2203

UITextField、UITableview随键盘弹起而上移、滑动(swift)

1、业务场景 类似于QQ、微信的聊天框,当开始输入文字时我们会发现: 输入框(UITextField)下边界紧贴键盘上边界 消息界面(UITableView)最上面的几条聊天记录滑出视线 怎么做到的呢? 2、实现方法 最重要的一条是要拿到键盘的高度,可以这样实现: 先在ViewController中注册通知 NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillAppear(notification

qq_42403042的博客 2285

SAP Joule Studio 能不能用来开发 skill:可以,但它开发的是 Joule 语境下的企业级 skill,而不是替代所有 SAP 开发技术的万能锤

SAP Joule Studio 专为开发Joule技能(Joule skills)而设计,这些技能是执行确定性单步业务动作的原子能力。它通过自然语言接口连接SAP和非SAP系统,适合处理边界清晰、可审计的任务(如创建工单、查询发票)。Joule技能作为会话式业务编排层,与ABAP、CAP等核心技术互补而非替代。开发支持低代码和专业代码两种方式,并具备企业级治理能力,但需要相应的BTP订阅和技术基础。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 201

获得键盘高度以及UITableView中多个UITextField时UITableView的滚动和键盘的隐藏

1.获得键盘高度 (UIView *)keyboardViewNotepad;{ NSArray *windows = [self windows]; for (UIWindow *window in [windows reverseObjectEnumerator]) { for (UIView *view i...

dayiqiao8331的博客 171

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

弹出键盘后让页面上移

当我们弹出键盘的时候, 可能会出现键盘挡住 UITextField, 下面是解决方案 首先在viewDidLoad 添加两个观察者 不要忘了在dealloc里移除 然后实现这两个方法 (添加判断, 如果当前键盘的位置不会档上输入框 就什么也不干) 要获取当前键盘的高度, 然后让我们的tab

CXLiao的博客 2595

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

swift3 实现键盘弹出视图上移

第一步:在你要实现这个功能的视图控制器中的viewDidload()中添加一个要监听的通知(这里为键盘上弹通知) func addObserver(_ observer: Any, selector aSelector: Selector, name aName: NSNotification.Name?, object anObject: Any?)在这个方法中添加通知Notificati

EIamor的博客 5250

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

iOS开发tableView的cell里面有textField,键盘出现的时候,自动上移

首先在ios4以后,当UITableViewCell里有UITextfield,当输入时键盘遮盖了UITextField,UITableView是会自动上移,当如果要让tableView自动滚动的话,还需要设置一下tableView的contentInset。接下来介绍一下实现步骤, 首先监听键盘出现和消失://监听键盘出现和消失 [[NSNotificationCenter defaul

Yo_Yo_Yang的博客 1万+

iOS学习笔记——视图上移与键盘弹回

在学习iOS开发的过程中总是遇见键盘出现时,遮盖了输出口UITextField,无法看到用户自己输出的内容。这时就需要对当前视图做出相应的上移,当输出结束时点击屏幕的任意地方,使键盘弹回去。 第一种方法是在UITextField开始编辑前和编辑后调用的方法里添加移动视图的方法;第二种方法是新创建一个视图移动的方法,两次都调用,并判断是否做出相应移动。 把两种方法贴出来,都需要在.h文件中添加U

2718

iOS开发-cell里面有textField,出现键盘自动上移

当UITableViewCell里有UITextfield,当输入时键盘遮盖了UITextField,UITableView是会自动上移,当如果要让tableView自动滚动的话,还需要设置一下tableView的contentInset。接下来介绍一下实现步骤,  首先监听键盘出现和消失:  [[NSNotificationCenter defaultCenter]addObserver:

Zhai19931004的博客 1460

UITableView中cell里的UITextField不被弹出键盘挡住

UITableView中cell里的UITextField不被弹出键盘挡住 本人视频教程系类 iOS中CALayer的使用 效果如下: 源码: EditCell.h 与EditCell.m // // EditCell.h // Cell // // Created by YouXianMing on 14/12/18. // ...

weixin_30449453的博客 67

iOS解决键盘遮挡输入框问题

导读:UITextField(输入框)获取焦点后会弹出键盘,有时候键盘会遮挡住输入框,影响用户交互,所以需要在弹出键盘的时候将视图上移至不会遮挡的位置。下面主要讲述几种常见解决方法。 一、弹出键盘时,将整个视图上移:监听键盘事件//监听键盘 //1、键盘弹出时 [[NSNotificationCenter defaultCenter]addObserver:self selector:@select

JennyHermes的博客儿~ 960

UITableView的多个UITextField时,有的被键盘挡住怎么解决

在UITableView中,经常有很多表单需要输入,有的表单比较靠下,一点击输入时键盘就会弹出,弹出有时候会盖住输入框,那怎么办呢? 调用下面的方法,当然你输入的UITextField要有delegate = self。 当前的viewController要实现UITextFieldDelegate。 - (void)textFieldDidBeginEditing:(UITextField *...

移动开发记录 193

使用IQKeyBoardManger 键盘弹出时导航栏也移动的问题-个人问题

以上是网上找的办法,自己并没有使用成功(可能自己没理解)! 下面是我自己出现的问题, 我的聊天界面使用xib简单分两快,上面UITableView(列表),下面UITextField(输入框),主要问题出现在iPhone X(ios11)刘海屏手机。 问题1:IQKeyBoardManger使用了低版本导致的键盘与UITextField中间有明显的间隔。 解决1:升级IQKeyBoardM...

莫封洛的博客 1577

iOS键盘管理终极指南:IQKeyboardManager自定义距离处理规则实战

在iOS应用开发中,键盘遮挡输入框是最常见的用户体验问题之一。IQKeyboardManager作为一款功能强大的iOS键盘管理库,能够自动调整输入框位置以避免被键盘遮挡,同时支持高度自定义的距离处理规则。本文将从基础配置到高级自定义,全面讲解如何利用IQKeyboardManager打造流畅的输入体验。 ## 📌 为什么选择IQKeyboardManager? IQKeyboardMana

gitblog_00256的博客 1096

iOS键盘遮挡问题彻底解决:IQKeyboardManager 完整实战指南

你是否经历过这样的场景:在登录页点下输入框,键盘"唰"地弹起来,把输入框和按钮严严实实地盖住,用户只能盲打或者反复拖动页面?这就是 iOS 开发中最经典的键盘遮挡问题。而 IQKeyboardManager 正是一款免写代码的通用键盘管理库,你只需一行配置,它就能自动为所有 `UITextField`/`UITextView` 让出键盘空间。本文会从最常见的踩坑场景切入,带你理解它的工作原理,再一

gitblog_00810的博客 780

解决键盘把textfield遮挡的问题

摘自cocoaChina 问题:我看到有地方说,在ios4以后 当UITableViewCell里有UITextfield,且输入时键盘遮盖了UITextField时,UITableView会自动上移 UIcatalog例子也是有这个效果的, 但是我自己用代码实现的UITableView没有这个上移效果 请问需要什么其他设置吗 答案:1.再键盘出现时,将frame上移....键

a2466779443的专栏 459
上一篇: 高效地显示Bitmap(1 - 有效地加载大尺寸图片)
下一篇: Swift 内存管理,WEAK 和 UNOWNED
小伞_
博客等级 码龄13年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值