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

iOS - 在UITextField外部触摸时关闭键盘

iOS是苹果公司开发的移动操作系统,用于iPhone、iPad和iPod Touch等设备。在iOS中,当用户点击UITextField外部区域时,可以通过以下几种方式关闭键盘:

  1. 使用resignFirstResponder方法:可以通过调用UITextField的resignFirstResponder方法来关闭键盘。该方法会使UITextField失去第一响应者的状态,从而关闭键盘。示例代码如下:
代码语言:swift
复制
textField.resignFirstResponder()
  1. 使用endEditing方法:可以通过调用UIView的endEditing方法来关闭键盘。该方法会使视图及其子视图中的所有可编辑控件失去第一响应者的状态,从而关闭键盘。示例代码如下:
代码语言:swift
复制
self.view.endEditing(true)
  1. 使用UITapGestureRecognizer手势识别器:可以通过添加一个UITapGestureRecognizer手势识别器来监听用户在UITextField外部区域的触摸事件,并在触摸事件发生时关闭键盘。示例代码如下:
代码语言:swift
复制
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap))
self.view.addGestureRecognizer(tapGesture)

@objc func handleTap() {
    textField.resignFirstResponder()
}

以上是在iOS中关闭键盘的几种常见方式。根据具体的应用场景和需求,可以选择适合的方式来实现关闭键盘的功能。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS之分段控制器UISegmentedControl1. 分段控制器(UISegmentedControl)2. 事件监听3. 手势事件大全

UIControlEventTouchDragInside:当触摸控件窗口内拖动。 UIControlEventTouchDragOutside:当触摸控件窗口之外拖动。...UIControlEventTouchDragEnter:当触摸从控件窗口之外拖动到内部。 UIControlEventTouchDragExit:当触摸从控件窗口内部拖动到外部。...UIControlEventTouchUpInside:所有控件之内触摸抬起事件。...UIControlEventTouchUpOutside:所有控件之外触摸抬起事件 UIControlEventTouchCancel:所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断...UIControlEventValueChanged:当控件的值发生改变,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,滑块被放下发送,或者在被拖动发送。

1.1K20

断言和分段控制器1. 断言(Assertions)2. 分段控制器(UISegmentedControl)

UIControlEventTouchDragInside: 当触摸控件窗口内拖动。 UIControlEventTouchDragOutside: 当触摸控件窗口之外拖动。...UIControlEventTouchDragEnter: 当触摸从控件窗口之外拖动到内部。 UIControlEventTouchDragExit: 当触摸从控件窗口内部拖动到外部。...UIControlEventTouchUpInside: 所有控件之内触摸抬起事件。...UIControlEventTouchUpOutside: 所有控件之外触摸抬起事件 UIControlEventTouchCancel: 所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,...你可以配置滑块控件何时发送通知,滑块被放下发送,或者在被拖动发送。 UIControlEventEditingDidBegin: 当文本控件中开始编辑发送通知。

77130

UI篇-UIResponder之事件传递和响应精析

iOS中的几种常见事件 ? 这篇文章只讨论触摸事件。...响应者链:由一系列“下一个响应者”组成 其顺序如下: 1.iOS系统处理事件,通过UIApplication对象和每个UIWindow对象的sendEvent:方法将事件以消息的形式分发给具体处理此事件的第一响应者...一定的时间内关闭事件的传递。...前一个方法使应用程序完全停止接收触摸事件消息,第二个方法则重启消息的接收。某些时候,当您的代码正在执行动画,可能希望关闭事件的传递。...我们使用UITextView和UITextField的时候,可以通过它们的inputAccessoryView属性给输入时呼出的键盘加一个附属视图,通常是UIToolBar,用于回收键盘

2.4K30

iOS开发——定制UITextField

iOSUITextField这个控件作为文本输入控件一定是使用率最高的几个控件之一,而iOS提供的默认的原始TextField的造型肯定在开发很难满足我们的要求,原因很简单,不够美观,实在太单调。...今天我们主要从UITextField键盘收起、placeholder的设置以及自定义距离、字体,以及控制输入文本,距离UITextField边框的距离和UITextField中一些常用的方法和枚举变量等方面来阐述如何定制自己的...键盘的收起 首先我们先来看UITextField键盘弹出和回收,UITextField默认的情况下,键盘在输入完成后是不会自动回收的,这里我们讲解如何在按下Return键键盘自动回收。...placeholder的设置 一些特定功能的文本输入框,我们常常要设置placeholder属性来指明当期UITextField的功能,例如:请在此处输入密码。...UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways }; UIReturnKeyType返回按钮类型 键盘上的返回按键

1.5K40

微信小程序----wx.getLocation(OBJECT) APIiOS关闭本机定位,获取定位失败

安卓关闭定位设置,wx.getLocation(OBJECT) API依然能够获取当前位置的经纬度;但是iOS如果关闭定位设置,wx.getLocation(OBJECT) API就会失败!...}); } }) } }) 注意 iOS关闭定位会导致 wx.getLocation(OBJECT) 调用失败,所以直接在接口调用失败的函数进行提示用户打开定位...必须在 onShow 的生命周期进行当前位置的获取,是由于当第一次进入小程序,该页面已经加载完成,去设置定位,小程序只是进行了 onHide 生命周期,所以在打开定位再次进入小程序的时候只会进行 onShow...注意如果是要进行分页处理, success 函数中需要对页码进行初始化,防止再次进入的时候请求页码大于总页数导致没有值!

1.3K20

1.注册或登录页面设计:UILabel,UIButton,UITextField

学习iOS开发已经有一段时日了,之前一直没有系统的对iOS开发的相关知识进行归纳总结,导致很多知识点云里雾里脑子里形不成iOS开发的思想,现将自己在学习过程中遇到的一些知识进行总结,希望能对iOS初学者能有一定的帮助...作为iOS开发的入门总结的第一篇,这里以最常见的注册或登陆页面设计作为开篇,这里主要会用到UILabel,UIButton,UITextField这三个控件。...一.注册或登录界面 如下图,实现了一个注册或登录界面,这里先只介绍单个页面,不介绍点击“完成”按钮后的动作,之后的系列《iOS开发入门总结》中会逐步介绍,等基础知识介绍的差不多了,就可以以一个完整的注册系统作为小结...说明: 这里为了展现UITextField的文本框关联键盘的设置,这里把“密码”和“确定密码”的关联键盘都设置为数字键盘,实际应用中密码一般都允许为数字或字母。 实现了键盘收回操作。...UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways } UITextFieldViewMode; 处理密码等隐私类的信息

2.3K50

iOS UI控件了解一下

iOS开发及测试中,除了业务逻辑和算法之外,UI控件是最重要的一部分,因此熟悉UI控件及实现原理,对于了解开发实现和测试是相当必要的,这篇文章将给大家介绍常用的UI控件及实现。...当一个view设置bounds,会把自己当成一个容器,定义自己的边界大小以及左上角的初始坐标。当子视图添加到此视图,会根据bounds指定的原点(0,0)计算frame,而非左上角。...App中UITextField出现频率也比较高; (2)iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便 你进一步操作。...在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘; (3)UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑, UITextField允许用户编辑文字(输入...6)输入控制: UITextField类提供了许多控制输入的API,包括密码模式、键盘样式、自定义键盘等(详见下表) ?

2.6K20

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

iOS或Android等移动端开发过程中,经常遇到很多需要我们输入信息的情况,例如登录要输入账号密码、查询要输入查询信息、注册或申请需要填写一些信息等都是通过我们键盘来进行输入的,iOS开发过程中...UITextFieldDelegate的官方文档中解释道:我们可以通过代理中的一些方法实现UITextField键盘的调用,从而实现和用户进行交互的方法,此外,还可控制UITextField的输入过程...上的实现在我之前的随笔中有专门讲到过了,想了解的小伙伴可以直接戳这里:ios学习——键盘的收起 三 文本框内容的获取   之前的分析中,我们知道,文本框在结束之后都会调用一个方法就是  textFieldDidEndEditing...  还是之前的分析中,我们知道键盘弹出和收起,系统都会发出对应的通知,所以我们可以收到键盘弹出的时候判断键盘的位置和当前输入文本框的位置,如果有遮挡,就将当前视图进行一个向上平移,收到键盘回收的通知就平移到原先的位置...,然后键盘弹出通过为止比较确定是否平移,以及平移的offset。

3.4K60

iOS-UITextField 全面解析iOSUITextField 使用全面解析UITextField的代理方法通知UITextField storyboard 中设置属性

iOSUITextField 使用全面解析 建议收藏,用到的时候来这里一查就都明白了 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField...//开始编辑触发,文本字段将成为first responder } - (BOOL)textFieldShouldReturn:(UITextField *)textField { // 当点击键盘的返回键... //键盘显示之后发送 UIKeyboardWillHideNotification  //键盘隐藏之前发送 UIKeyboardDidHideNotification  //键盘隐藏之后发送 UITextField...2、Placeholder : 可以文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据,用于提示的灰色的字将会自动消失。...18、Auto-enable Return Key : 如选择此项,则只有至少文本框输入一个字符后键盘的返回键才有效。

6.9K60

IOS开发系列——UIView专题之一:UIWindow篇

iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示屏幕上了。...2.获取UIwindow (1)[UIApplication sharedApplication].windows本应用中打开的UIWindow列表,这样就可以接触应用中的任何一个UIView对象(平时输入文字弹出的键盘...(2)[UIApplication sharedApplication].keyWindow(获取应用程序的主窗口)用来接收键盘以及非触摸类的消息事件的UIWindow,而且程序中每个时刻只能有一个UIWindow...提示:如果UItextfield不显示,可以考虑设置它的样式,因为其创建默认是虚线的,没有边框。 ios7里边,主窗口和次窗口是没有区别的。...ios7以前中有区别:哪个是主窗口,后面设置为主窗口会把之前设置的覆盖掉。(只有主窗口才能响应键盘的输入事件,如果不能输入内容,可以查看是否是显示主窗口上,不在主窗口上的不能响应。)

61430

iOS 12 系统中文键盘上使用 AutoFill 会遇到诡异的问题以及解决方案一. 问题描述二. bug report三. 解决方案

感谢我们 iOS 团队的赵恒、刘家飞发现此 bug。 ? 码农的桌面.jpg 一....lazy var textField: UITextField = { let tf = UITextField() tf.keyboardType = .numberPad tf.textAlignment...count == 6) { //do something 和服务器通讯验证用户输入的验证码是否正确 } } 如果系统升级到最新的 iOS 12.0,并结合系统中文键盘使用... iOS 12 设备上使用系统的中文(简体)键盘或者中文(繁体)键盘会打印出以下 log ------value change--- Optional("123456") ---- ------value...value change--- Optional("12345") ---- ------value change--- Optional("123456") ---- 由此,得出以下结论: 系统中文键盘

1.2K20

iOS 键盘删除键响应

iOS 键盘删除键响应 背景 背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。...然后,笔者就查了一下,可以通过runtime,来获取到deleteBackward事件,通过hook此事件,可以获取到点击键盘删除按钮的事件,代码如下: // UITextField+BackSpace.h...测试后可以发现点击键盘删除键,代理方法确实响应了,代码如下: @interface TargetView () @property (nonatomic, strong...- (void)textFieldBackSpaceTapped:(UITextField *)textField { NSLog(@"删除"); } @end 再回过头来看需求,当输入框中没有数据...点击删除,字符和多选一同被删除了,而我们需要的最后一个字符删除后,再次点击删除才应该操作多选。

19520

ios学习——键盘的收起

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

1.8K60

挥别web移动端开发差异和经典坑

滚动容器上增加滚动 touch 方法 .wrapper { -webkit-overflow-scrolling: touch; } 设置overflow : 设置外部 overflow 为 hidden.... auto: 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。...键盘弹起挡住原来的视图 描述:ios就是当唤起键盘后,整个页面会被键盘压缩,也就是说页面的高度变小,并且所有的 fixed 全部变为了 absolute ,而 android 中唤起键盘是覆盖页面上,...关键解决:composition event compositonstart: IME的文本复合系统打开触发,表示要开始输入例如(输入法出现的那一刻) compositionupdate: 向输入字段中插入新字符触发...(使用输入法输入的过程中) compositionend: 输入法编辑器的文本复合系统关闭触发,表示返回正常键盘输入状态(选中文字,输入法消失的那一刻) 判断限制: $('#input').

2.8K20

iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

属性; 10.退出软键盘 : ① 谁触发谁关闭 调用UITextField 的 resignFirstResponser 方法, ② 调用 根节点 [self.view endEditing:YES]...触发的, 通过对应的 TextField 控件 关闭键盘; ② 通过 父控件 关闭键盘; ① 谁触发谁关闭 : 调用控件的 resignFirstResponder 方法 退出软键盘, 该方法只能关闭控件本身触发的软键盘..., 示例 [self.textField resignFirstResponder] 关闭 textField 属性对应的控件触发的软键盘; ② 通过父控件关闭 : 调用界面的根节点 view 的 endEditing...方法关闭键盘; 代码 [self.view endEditing:YES] 关闭 view 控件 及其 子控件 触发的软键盘; ---- ( 7 ) 实现加法逻辑 实现计算逻辑 : 1.实现位置 :...( ① 选中 ViewController | ② 文件查看器 | ③ 取消 Use Auto Layout 勾选 ) 关闭自动布局 : 如果 无法 控制 大小改变 , 需要关闭自动布局 ;

4.6K30
领券