首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ios学习——键盘的收起

在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder),并自动弹出软键盘。...然而,没有自动定义好的软键盘回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域为非第一响应者,二是当前区域的输入结束。...当点击事件发生在非选中区域时,则键盘会自动回收: 1 //在viewDidLoad中 添加点击手势,为了关闭键盘的操作 2 UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer...2、利用键盘上的 回车键 来进行设置当前UITextField、UITextView等文本框不是第一响应者,这种方法对UITextField、UITextView的应用不一样,需要区别进行。   ...但是,我们可以根据UITextViewDelegate提供的方法对键盘输入的值进行判断,如果为回车键(\n)则设置当前UITextView不是第一响应者,否则不操作。

1.8K60
您找到你想要的搜索结果了吗?
是的
没有找到

iOS学习——键盘弹出遮挡输入框问题解决方案

,一般用于进行输入信息的有两类:UITextField和UITextView,前者是单行输入文本框,后者是可滑动的多行输入文本框,在这整个开发过程中,我们需要控制键盘的弹出和收起、在输入结束的时候获取输入的信息...textFieldDidEndEditing: 二 键盘的弹出与收起 2.1 弹出键盘的控制   关于键盘的弹出与收起问题,从上面的响应过程分析可知,键盘的弹出对于UITextField和UITextView...则不弹出键盘 } //UITextView调用此方法 - (BOOL)textViewShouldBeginEditing:(UITextView *)textView{ //返回YES是弹出键盘...关于收起键盘,我们通常有两种做法如下: 一是通过我们的键盘上的【return/完成】按键的点击事件来设置 二是设置点击空白处就收起键盘,这种方法现在比较普遍   这两种做法在UITextField和UITextView...  还是在之前的分析中,我们知道在键盘弹出和收起时,系统都会发出对应的通知,所以我们可以在收到键盘弹出的时候判断键盘的位置和当前输入文本框的位置,如果有遮挡,就将当前视图进行一个向上平移,在收到键盘回收的通知时就平移到原先的位置

3.4K60

UITextView 手势触发 TouchesBegan 函数

开始,在当前view中添加一个UITextView ,然后添加- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event函数,可怎么也触发不了...首先说原因吧,你把UITextView 加载到当前view上,然后在当前文件中写函数(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event...,手势触摸时,其实触发的是当前view重构父类的touchesbegan函数,而加载UITextView时,UITextView 其实也有相应的touchesbegan函数,UITextView 继承UIScrollView...所以说,当你点击UITextView想触发相应手势函数,是做不到了,因为它始终触发的是当前view的手势函数,明白了吧,现在来说做法。...关键步骤:重构UITextView 1、首先你得重现写个类,如MyTextView #import @interface MyTextView : UITextView

77910

iOS 12.0 WebView键盘弹出,关闭后界面没有回收的问题

iOS 12.0 WebView键盘弹出,关闭后界面没有回收的问题 背景 公司有人反馈,iOS 12.0的手机上,H5页面有个地方键盘弹出了,关闭之后,再次点击输入框,没有反应了,其实是界面上移了之后,...,在H5界面监听键盘弹出和收起,在收起时,对webview的scrollview做偏移处理,设置后,发现对笔者的项目来说仍旧不生效,笔者的项目同一个网页上有多个可输入的地方,且有在弹出框输入的操作。...故而再次修改: 笔者发现,有人给出参考方法,由H5端,监听键盘弹起和回收,然后进行处理,但是如果让H5处理,需要每个业务的H5都要单独处理,所以笔者就想,由原生监听键盘收起的通知,然后调用js的方法,代码如下...: viewDidLoad中,针对版本处理进行处理,添加键盘回收的通知 if (zDeviceVersion.floatValue >= 12.0 && zDeviceVersion.floatValue...ios 微信webview在键盘关闭后,没有自动回退页面

2.4K20

【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

Pad : 数字键盘; -- Phone Pad : 电话拨号键盘; -- E-mail Address : E-mail 地址虚拟键盘; -- Decimal Pad : 数字 小数点 虚拟键盘;...UITextView 虚拟键盘关闭 (1) 需求分析 UITextView 与 UITextField 中使用的虚拟键盘对比 :  -- UITextField 虚拟键盘 : 右下角的键是 Done,...按下这个键可以设置成关闭虚拟键盘; -- UITextView 虚拟键盘 : 由于 UITextView 是多行文本, 右下角的键是 return, 这个键是 回车键, 如果我们想要将虚拟键盘退出需要有其他方法...自定义键盘附件 :  -- 作用 : 不是所有的应用都有导航栏, 在没有导航栏的应用中, 需要有键盘附件来关闭键盘; -- 1....将工具条设置成 虚拟键盘 附件 :  //将工具条关联到 UITextView, 作为虚拟键盘附件 [self.textView setInputAccessoryView:toolBar

6.4K20

iOS 键盘和UIMenuController的并存问题

问题描述 当UITextView 处于编辑状态时,即键盘存在时,UITextView是第一响应者,而当需要弹出UIMenuController时,第一响应者需要变更为处理UIMenuController...菜单事件的对象,此时UITextView就不是第一响应者,键盘就会隐藏,造成键盘和UIMenuController不能同时出现。...键盘和UIMenuController不能同时出现效果预览 解决方案 史上最详细的iOS之事件的传递和响应机制-原理篇 iOS响应链全家桶 此方案是通过改变响应链来解决的,如果对响应链不了解的先去补一下这方面的知识...在保证UITextView第一响应者的前提下,我们可以覆盖改变UITextView的nextResponder,让nextResponder指向UIMenuController菜单事件的执行者;同时也要注意...键盘和UIMenuController并存问题解决

1.7K20

UITableViewCell系列之(一)让你的cell支持二次编辑

每个开发者采用的方式不同,有的开发者直接以modal/push的方式present出一个控制器,把tableViewCell上的内容传递到被modal/push的控制器的UITextView上,在UITextView...另外一种方法是直接在当前控制器(的界面)上以动画(甚至是没有动画)的形式弹出一个UITextView,在UITextView上修改文本内容,修改完成后再隐藏/移除UITextView,把内容重新显示到tableView...,以让UITextView正好遮盖住label 把cell上的内容显示到UITextView上。...如果,当前正处在编辑状态,那么再次点击cell就保存内容、结束编辑(退出键盘) // 否则,进入编辑状态 if ([self endEditForIndexPath:indexPath...如果,当前正处在编辑状态,那么再次点击cell就保存内容、结束编辑(退出键盘);否则,进入编辑状态 - (BOOL)endEditForIndexPath:(NSIndexPath *)indexPath

7.8K40

iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...言归正传,下面就说回到我们要解决的问题,在UITableView的cell中,系统自带的UITableViewCell的格式没有自带UITextField或UITextView这种可以编辑的区域的,而这种类型的...2.1 UITextField或UITextView点击之后的详细流程   在对cell进行封装和自定义的时候,我们需要考虑我们的UITextField或UITextView从点击编辑框到结束编辑的整个过程是怎么样的...  在前面的2.1的UITextField或UITextView点击之后的详细流程分析中我们知道,在点击文本之后弹出键盘时会发送一个UIKeyboardWillShowNotification的通知,...,和弹出键盘相对,弹出键盘时我们保存了弹出键盘之前tableview的contentOffset的偏移量,所以,在收起键盘后,我们将tableview的contentOffset值设为弹出之前的值就可以了

3.8K80
领券