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中的位置

Android真机调试——ADB调试(含华为手机无法找到设备) 本文以Huawei Nova7为例。 阅读详情

相关推荐

最新首发——boss直聘爬虫

本文介绍了使用Python开发Boss直聘爬虫的核心思路和技术要点。通过模拟浏览器访问搜索页面获取Cookie,然后构建API请求获取职位数据。关键步骤包括:1)使用DrissionPage库初始化浏览器;2)模拟用户浏览行为获取必要参数;3)设置完整的请求头信息;4)通过POST请求获取JSON格式的职位数据。文章提供了详细的代码实现,包括浏览器模拟、API请求构建、数据处理等核心功能模块,并强调了最新版接口改为POST访问的特点。该爬虫可自动翻页采集数据并保存为Excel文件,适用于安全实习等职位信息的

2301_79735033的博客 3317

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

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

番茄Salad 8754

从.har文件到Postman集合:一键转换的完整教程(附避坑指南)

本文详细介绍了如何将.har文件高效转换为Postman集合的完整教程,涵盖基础操作到高级技巧,包括认证信息处理、环境变量提取等痛点问题的解决方案。通过抓包工具记录的.har文件,开发者可以快速生成Postman集合,提升API调试与测试效率,特别适合前后端分离开发模式下的团队协作。

weixin_26795617的博客 384

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

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

Rob_gao的博客 3172

Android开发- (2)MediaProjection API实战:构建高效屏幕共享与远程控制方案

本文深入探讨了Android开发中利用MediaProjection API实现高效屏幕共享与远程控制方案的实战方法。文章从权限申请、虚拟屏幕创建讲起,详细解析了图像捕获、编码压缩、Socket网络传输的核心流程,并进一步介绍了如何构建双向控制通道及关键的性能优化与避坑指南,为开发者构建稳定可用的远程协作应用提供了完整路径。

weixin_29207533的博客 450

LM358实战:手把手教你搭建电流检测电路(附电阻选型计算)

本文详细解析了使用LM358运算放大器搭建电流检测电路的全过程,包括基础原理、采样电阻选型、放大电路设计及PCB布局技巧。通过实战案例和精确计算,帮助工程师快速掌握低成本、高精度的电流检测方案,适用于电源管理、电机控制等多种应用场景。

weixin_30872157的博客 448

iOS 键盘弹出页面上移

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

liubo的博客 819

用Linkboy玩转Arduino:3小时搞定智能倒车雷达(附仿真文件下载)

本文详细介绍了如何利用Linkboy图形化编程工具,在3小时内快速搭建一个基于Arduino的智能倒车雷达项目。通过仿真环境,初学者无需硬件即可学习超声波测距原理、报警逻辑设计,并完成从虚拟仿真到实体硬件的完整流程。文章提供了清晰的步骤、调试技巧及功能扩展思路,并附有仿真文件,是入门Arduino和智能硬件制作的绝佳实践指南。

weixin_29159441的博客 403

h5 ios键盘弹出 布局上移

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

qq_38920348的博客 2345

字符串尾部空格的迷思:深入解析 ABAP 隐式转换规则与 `strlen` 意外结果

看似简单的strlen之谜,背后实则是 ABAP 隐式转换的一整套严谨规则。只要开发者在赋值、输出、接口映射等关键节点建立“尾部空格意识”,辅以CONVCONDENSE等显式手段,就能有效杜绝多余空格引发的链式故障。希望本文的拆解与案例,能让你在面对下一个“异常长度”时,从容而笃定地给出正确答案。

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

996引擎 - 读写变量性能测试

单轮100万次读写,取3轮平均耗时(毫秒),有效读取率均为100%,数值越小性能越优。

灵台方寸山斜月三星洞 244

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

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

qq_42403042的博客 2285

Unity如何实现数字人口型同步

SALSA LipSync v2是一款实时唇音同步系统,无需音素映射即可根据音频自动生成口型动画。系统提供三大核心功能:基于音频波形分析的智能口型同步、EmoteR表情随机化工具以及Eyes眼睛/头部追踪系统。配置流程简单快捷,只需导入模型后通过一键配置完成基础设置,再添加A/E/I/O/U等基本口型混合变形即可实现基础功能。进阶功能支持表情池管理(手动/随机/强调/重复触发)和眼部动作配置(骨骼旋转或混合变形)。系统支持三种输入方式:本地音频文件分析、麦克风实时输入和文本转语音,为数字人角色提供完整的表情

TxNet 760

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

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

dayiqiao8331的博客 171

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

弹出键盘后让页面上移

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

CXLiao的博客 2595

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

swift3 实现键盘弹出视图上移

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

EIamor的博客 5250

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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、付费专栏及课程。

余额充值