iOS 键盘收起~

面试官:实现一个吸附在键盘上的输入框 话不多说,先上效果和 demo 地址:要实现一个吸附在键盘上的 input,可以分为以下步骤:要监听键盘高度的变化,我们得先看看在键盘展开或收起的时候,分别会触发哪些浏览器事件:iOS 和部分 Android 浏览器展开:键盘展示时会依次触发 visualViewport resize -> focusin -> visualViewport scroll,部分情况下手动调用 input.focus 不触发 focusin收起:键盘收起时会依次触发 visualViewport resize -> focu 阅读详情

eld/textView收起键盘的方法有很多,但总的来说就是释放第一响应者和结束编辑即可

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1.最简单粗暴的,只要在 任何 UIView子类结束编辑即可: 
在一个VIewController收起键盘的方法如下: 
-( void )touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
     [self.view endEditing:YES]; 
} 
2.释放编辑框TextField(TextView同理)的第一响应者即可,实现手段很多: 
   
(1) TextField点击Reture收起键盘 
步骤:实现委托协议,释放第一响应者 
self.textField.delegate=self; 
-( BOOL )textFieldShouldReturn:(UITextField *)textField 
{ 
       
     [self.textField resignFirstResponder]; 
    return YES; 
} 
(2)在ViewController的self.view上添加一个tap单击手势,当点击空白的时候,释放 输入框的第一响应者即可 
   
(3)背景设置一个 UIButton,给button一个回调,当点击按钮的时候释放键盘的第一响应者即可,同上


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

相关推荐

详解IOS点击空白处隐藏键盘的几种方法介绍

本篇文章主要介绍了IOS点击空白处隐藏键盘的几种方法,非常具有实用价值,需要的朋友可以参考下。

iOS 点击空白处收回键盘的方法

在iOS的开发中经常会用到输入框,当你点击输入框是键盘会自动弹出,十分方便。但要收回键盘确十分麻烦,需要实现输入框中return的代理方式,当点击return键是键盘才会回收,这种用户体验十分的糟糕。所以我们可以通过方法来实现点击界面空白处来实现键盘的回收。以下提供两种方法以供参考:      要使键盘回收实现,具体的方法为使他取消第一响应者的身份即可        

lcyStudy的博客 4081

字节开源 DeerFlow 2.0:从 Deep Research 到 Super Agent Harness 的进化之路

GitHub Trending 冠军项目,字节跳动完全开源的超级智能体框架。支持子代理、沙箱执行、长期记忆、技能扩展,可完成从几分钟到几小时的复杂任务。本文深度解析架构设计、安装实战、技能系统,并附上独家配置指南。

qq_38610923的博客 1712

iOS开发textField点击背景空白隐藏收起键盘的N种方法

iOS点击空白处或点击背景收起键盘 在viewDidLoad中添加手势 - (void)viewDidLoad{[super viewDidLoad];//添加手势UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)]; tap1

BearsG 6563

TM1650数码管驱动芯片

简介 TM1650是一款国产4位共阴数码管驱动芯片,它还带有矩阵按键扫码功能。它的基本参数如下: 工作电压:3~5V 数码管驱动模式:8段x4位共阴数码管 矩阵按键驱动模式:7x4矩阵按键,不支持组合键 通信接口:类IIC,使用了IIC相同的时序,但没有完全遵守IIC的协议,不带从机地址 引脚定义 SCL:串行通信时钟线 SDA:串行通信数据线 做数码管驱动使用时 DIGx:数码管的位选引脚,灌电流驱动,最大可吸收150mA电流 A~DP:数码管的段驱动引脚,拉电流驱动,最大可输出25m

luliplus的博客 4万+

别再手动抄表了!用MCGS触摸屏自动存数据到U盘,5分钟搞定报表导出

本文详细介绍了如何利用MCGS触摸屏实现工业数据自动记录与U盘导出,彻底告别传统手动抄表方式。通过昆仑通态MCGS系统,可构建零误差自动化报表系统,实现实时数据采集、双重备份及标准CSV格式导出,大幅提升数据准确性和工作效率。

weixin_30872157的博客 792

Flutter 点击空白处取消TextField焦点并收起键盘

原文: 笔记-Flutter 之点击空白处取消TextField焦点 GestureDetector( behavior: HitTestBehavior.translucent, onTap: () { // 触摸收起键盘 FocusScope.of(context).requestFocus(FocusNode()); }, ...

weixin_41469516的博客 2032

C#实现串口通讯程序

1、自动获取本地串口。2、根据传入串口基本属性参数打开串口。3、串口数据的发送接收功能(ASCII和HEX格式)。4、ASCII和HEX相互转换。csharp体验AI代码助手代码解读复制代码[Category("UserProperty")] [Description("轮廓半径")] public int Radius { get => radius;

2401_89221445的博客 1765

IOS 点击空白处隐藏键盘的几种方法

IOS7 点击空白处隐藏键盘的几种方法 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法: 首先说明两种可以让键盘隐藏的Method: 1、[view endEditing:YES]

SwingLife的专栏 14万+

详解Unity中的粒子系统Particle System (三)

上一篇我们详细讲解了有关主模块的全部内容,已经对粒子系统的基本运作有了足够的了解,本篇就来讲一下被粒子系统默认启用的Emission、Shape、Renderer模块又在粒子系统中扮演着怎么样的作用吧。

梦小天幼的博客 1万+

17、神经网络训练算法与高阶模糊Cohen - Grossberg神经网络稳定性分析

本文介绍了一种新的数据驱动算法用于神经网络训练,该算法继承三次样条权重函数的优点,具有简单架构和良好泛化性能,并通过并行机制显著提升训练速度。同时,研究了高阶模糊Cohen-Grossberg神经网络(HOFCGNN)在可变及无界延迟下的稳定性,利用M矩阵理论和向量Lyapunov函数方法,证明了系统平衡点的存在性、唯一性和全局指数稳定性。研究成果为神经网络的高效训练与稳定应用提供了理论支持和技术路径。

b9c0d的博客 147

js实现监听键盘的收起和弹出

之前遇到一个bug,前提因素: 1. vue项目 2. 弹出层popup 3. ios手机 4. 弹出层中的input获取焦点后 点击键盘上的“完成”按钮收起键盘,再次触发input获取焦点发现没有反应。 分析原因后,发现实则是弹出层随着键盘的收起和展开进行了下移和上移,而元素的点击位置没有实时变化,如下: 正常的时候: 唤起键盘: 收起键盘后:实则弹层位置还没归位 ...

mr_japson的博客 5274

6.6kW的车载充电器(On-Board Charger, OBC)电路分析

图片展示了6.6kW的车载充电器(On-Board Charger, OBC)电路,其中包含双向和单向两种拓扑结构。接下来我们将深入分析每个模块的设计、原理及其优势,以帮助理解不同结构在实际应用中的选型和应用。

weixin_43199439的博客 5655

【JS】310- 使用 focusout 事件,解决 iOS 键盘收起不归位问题

点击上方“前端自习课”关注,学习起来~本文原载于 SegmentFault 专栏青檬前端作者:sheldon整理编辑:SegmentFault问题症状:今天在开发一个移动...

pingan8787 1840

微信小程序 - 解决请求报错 request:fail errcode:-201 cronet_error_code:-201 error_msg:net::ERR_CERT_DATE_INVALID

微信小程序报错“request:fail errcode:-201 cronet_error_code:-201 error_msg:net::ERR_CERT_DATE_INVALID“,微信小程序请求报错,微信小程序errcode:-201,服务器报错,无法调用接口,微信小程序真机https请求失败,微信小程序wx.request接口报错,小程序真机调试运行接口都报错了,真机测试下网络请求都不行了且报错,证书没问题依旧报错,检查HTTPS证书,ssl证书,使用浏览器测试访问证书是正常的,不是证书问题,请

🏆 前端领域优质创作者 1万+

STM32F407中文手册

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

ios键盘唤起,键盘收起以后页面不归位问题解决

找了好多“ios键盘唤起,键盘收起以后页面不归位问题解决”的解决办法,大部分都是以修改样式为主,但修改完成之后,效果不大,还是会重复出现这个问题,直到因为这个bug而加班才得以解决。 话不多说直接上代码,为了方便学习直接转载啦~ var u = navigator.userAgent; var flag; var myFunction; var isIOS =...

weixin_41519423的博客 852

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

解决ios收起键盘时页面无法归位问题

问题描述: ios系统中使用fixed定位的input,输入完毕键盘收起时,页面被卷上去无法归位。 解决办法: 监听键盘关闭事件,失焦后强制让页面归位,代码如下: const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 获取当前页面被卷上去的高度 document.body.addEve...

qq_42646513的博客 689

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

移动端键盘收起,页面没能恢复原状的解决方案

// 优化移动端键盘收起时页面没能恢复原状的问题 let inputs = document.getElementsByTagName('input'); let timer = null; for (let input of inputs) { input.addEventListener('blur', function() { timer = setTimeout(() => { window.scrollTo(0, 0);

莹莹同学 1063

iOS 不通过textfield代理(与html5交互) 收起键盘

最近开始做非native开发,很多界面直接由web提供,native相当于只提供一个壳。   问题也随之而来,点击web输入框 系统的键盘会自动弹出,这里没有用到UITextField。那么怎么收起键盘呢?   答案很简单:    [self.view endEditing:YES];  键盘就会自动收起~

RogerQ 的专栏 1647

微信小程序iOS下使用picker选择器与软键盘重叠遮挡问题的解决方案

今天可真是高产呀,哈哈,项目告一段落就有时间review下代码啦,顺便把坑记录一下 项目场景: 一个表单提交页,input、picker都有用到 问题描述: 如图所示,iOS下如果先点击了input弹出软键盘,再点击picker弹出选择框,但是软键盘却没有收起。 <Picker className='complaintViewTextPicker' value={selectorChecked} mode='multiSelector' range={mulSelector} onChange

qq_41594043的博客 2669

关闭键盘和退出键盘的几种方式 - iOS

在开发中通常会遇到一些需要输入信息相关的需求,那么就会调用到键盘来录入信息,但录入完毕键盘控件的回收问题从而随之而来; 通过巧妙的回收键盘控件可以大大的提高用户的体验效果,主要都是围绕 touch 事件和一些控件的代理监听方法展开实现操作; 接下来我们可以通过如下几种事件方式根据当前需求进行使用. 一.提到录入信息,通常优先会想到 UITextView 和

survivorsfyh的博客 3074

html5 ios js弹出键盘,safari浏览器fixed后,被软键盘遮盖的问题—【未解决】

safari浏览器fixed后,被软键盘遮盖的问题,已经有好多人问相关的问题,应该是问的角度不一样,还的再次提出咯。问题描述测试环境:ios 10.2/10.3简单来说就是在html5页面中底部有个fixed的区域,如图在点击输入框的时候,软键盘弹出,遮盖了fixed区域(这里页面整体上移了),如图但是当你点击“完成”让软键盘收起,再次点击输入框的时候,what?一切正常了~!如图(就是要这样子的...

weixin_29858081的博客 633

iOS中TableView小技巧

TableView是ios开发中经常用到的控件,这里统一记录一下开发中遇到的常用小技巧,不断探索更新,也希望大家可以告诉我更多常用的小技巧啦~一起进步

Minecraft 2868

解决H5在native中键盘弹起影响页面交互

中拉起键盘再收回,滚动列表实际距离发生变化,被键盘一起弹上去了(我这里大约是400px的样子)这是笔者在业务中遇到的一个问题,简单总结记录,如果对于这种情况有更好的方案也欢迎留言讨论~的组件触发了收起键盘的事件,所以考虑用类名定位的方案来搞定,同时我们直接封装成一个。把这段代码放在出现问题的页面里,发现页面会不稳定的回弹到顶部,排查下来应该是。可以看到页面被弹上去了,再次重复步骤页面会继续弹上去,排查了一下发现是在。这里入参我们给出在页面中需要被监听的组件类名,一般来说都是。

量子前端的博客 715

StructBERT中文相似度WebUI详细步骤:移动端触摸优化+键盘收起逻辑修复

本文介绍了如何在星图GPU平台上自动化部署StructBERT文本相似度-中文-通用- WebUI镜像,快速构建中文语义相似度计算服务。该镜像支持单句比对、批量查重与API调用,典型应用于智能客服意图匹配、文本去重及语义检索等场景,显著提升NLP任务处理效率。

weixin_35950531的博客 327

ios中调起底部输入框时的一些问题

H5端,尤其是在ios中键盘弹起与收起时遇到的一些问题的解决方案

qq_45937484的博客 1007
上一篇: Objective-c 代理模式(delegate)
下一篇: iOS中,在类的源文件(.m)中,@interface部分的作用?
Fivesplus
博客等级 码龄12年 1粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值