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

如何在uitextfield或按钮之外轻触退出键盘

在iOS开发中,可以通过以下几种方式实现在UITextField或按钮之外轻触退出键盘的功能:

  1. 点击空白处退出键盘:可以通过给视图添加一个手势识别器来实现。首先,在视图控制器的viewDidLoad方法中添加如下代码:
代码语言:txt
复制
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
view.addGestureRecognizer(tapGesture)

然后,在视图控制器中添加一个dismissKeyboard方法:

代码语言:txt
复制
@objc func dismissKeyboard() {
    view.endEditing(true)
}

这样,当用户点击视图控制器的空白处时,键盘就会被隐藏。

  1. 滑动手势退出键盘:可以通过给视图添加一个滑动手势识别器来实现。首先,在视图控制器的viewDidLoad方法中添加如下代码:
代码语言:txt
复制
let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(dismissKeyboard))
swipeGesture.direction = .down
view.addGestureRecognizer(swipeGesture)

然后,在视图控制器中添加一个dismissKeyboard方法(同上述方法)。

这样,当用户在视图上向下滑动时,键盘就会被隐藏。

  1. 使用UITextFieldDelegate代理方法:可以通过实现UITextFieldDelegate协议中的textFieldShouldReturn方法来实现。首先,在视图控制器中设置UITextField的代理为当前视图控制器:
代码语言:txt
复制
textField.delegate = self

然后,在视图控制器中实现textFieldShouldReturn方法:

代码语言:txt
复制
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textField.resignFirstResponder()
    return true
}

这样,当用户点击UITextField的Return键时,键盘就会被隐藏。

以上是在iOS开发中实现在UITextField或按钮之外轻触退出键盘的几种常用方法。对于更复杂的界面,可以根据具体情况选择合适的方法来实现。

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

相关·内容

iOS开发——定制UITextField

所以今天我们从一些简单的复写UITextField方法开始,来讲一讲如何定制一个属于自己的UITextField。...今天我们主要从UITextField键盘收起、placeholder的设置以及自定义距离、字体,以及控制输入文本时,距离UITextField边框的距离和UITextField中一些常用的方法和枚举变量等方面来阐述如何定制自己的...键盘的收起 首先我们先来看UITextField键盘弹出和回收,UITextField在默认的情况下,键盘在输入完成后是不会自动回收的,这里我们讲解如何在按下Return键时,键盘自动回收。...textField resignFirstResponder]; return YES; } 通过写入这个方法,来实现按下Return按钮回收键盘。...UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways }; UIReturnKeyType返回按钮类型

1.6K40

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

; -- 禁用 : UI 控件关闭后, 处于禁用状态; 禁用状态的控件不可操作, 禁用操作在 Interface Builder 取消 Enable 复选框; -- 选中 : 用于标识控件已启用 ...: 编辑内容时显示清除按钮; -- Appears unless editing : 除了编辑之外, 都会显示清除按钮; -- Is always visible : 一直可见; Clear when...UITextView 虚拟键盘关闭 (1) 需求分析 UITextView 与 UITextField 中使用的虚拟键盘对比 :  -- UITextField 虚拟键盘 : 右下角的键是 Done,...按下这个键可以设置成关闭虚拟键盘; -- UITextView 虚拟键盘 : 由于 UITextView 是多行文本, 右下角的键是 return, 这个键是 回车键, 如果我们想要将虚拟键盘退出需要有其他方法...导航按钮关闭虚拟键盘 :  -- 1.

6.8K20
  • iOS UI控件了解一下

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

    2.6K20

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

    由于本人只是从去年11月份才开始玩iOS(附上自己的学习路线,如下图),受限于能力,难免有一些不完善不恰当的地方,希望大神们多多见谅,勿拍砖,有不足需要完善的地方也希望小伙伴们能多多指教。 ?...作为iOS开发的入门总结的第一篇,这里以最常见的注册登陆页面设计作为开篇,这里主要会用到UILabel,UIButton,UITextField这三个控件。...一.注册登录界面 如下图,实现了一个注册登录界面,这里先只介绍单个页面,不介绍点击“完成”按钮后的动作,在之后的系列《iOS开发入门总结》中会逐步介绍,等基础知识介绍的差不多了,就可以以一个完整的注册系统作为小结...说明: 这里为了展现UITextField的文本框关联键盘的设置,这里把“密码”和“确定密码”的关联键盘都设置为数字键盘,实际应用中密码一般都允许为数字字母。 实现了键盘收回操作。...标题 [button1 setTitle:@"点击" forState:UIControlStateNormal]; /* forState: 这个参数的作用是定义按钮的文字图片在何种状态下才会显现

    2.4K50

    iOS学习——UIAlertController详解

    在两者的API中都建议用UIAlertController替代,并通过设置不同的类型风格来选择是原先的UIAlertViewUIActionSheet的形式。   ...UIAlertActionStyleCancel"); }]; [alert addAction:cancelBtn]; 1.2.2 UIAlertController上添加文本框   上面我们讲到了如何在...UIAlertController提示器上添加按钮,但是有时候,我们需要在提示器上添加一个多个文本框让用户填写一些信息,在UIAlertController中也提供了一个方法直接可以在提示器上添加文本框...* _Nonnull textField) { //设置键盘输入为数字键盘 textField.keyboardType = UIKeyboardTypeNumberPad;...主要的方法有两种: 利用第三方控件 利用KVC方法进行自定义修改 2.1 利用第三方控件进行UIAlertController属性的自定义 现在Github上有着众多的Alert控件(SCLAlertView

    3.1K170

    iOS键盘、选取器上的工具栏

    前言 我们在使用键盘的时候,在打字完毕后想要收起键盘继续操作,要么是习惯性点击界面空白处收起键盘,要么是在键盘上方点击一个“完成”之类的按钮来收起键盘。...很遗憾,选取器也没有自带这两个按钮,还是需要使用工具栏UIToolbar来做这两个按钮。 本文就根据实例来讲解怎么在键盘和选取器上添加工具栏按钮。...在键盘上添加收起按钮 先看看效果: 可以看到,在键盘上面有一条工具栏,最左边有一个小图标,是键盘形状的,点击那个图标后,就会收起键盘,这个按钮并不是自带的,是我添加上去的。...,工具栏上有一个done按钮按钮的背景图片就是那个小键盘图标,然后把按钮转换成一个UIBarButtonItem,这种类型的对象才可以放在工具栏上。...下面两个方法分别是取消和完成两个按钮的响应方法,一个是直接收起选取器,一个是收起选取器之外还要设置输入框的内容为所选择的内容。 这样选取器的工具栏按钮就完成了。

    1.5K10

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

    Software Keyboard 选项 激活; 9.设置软键盘类型 : 设置 TextField 控件的 Keyboard Type 属性; 10.退出键盘 : ① 谁触发谁关闭 调用UITextField...UIProgressView 的 progress 属性代表其进度值, UILabel 和 UITextField 的 text 属性 代表其文本内容; ② 共有属性 : 控件有些属性是共有的, 控件的...控件 : 弹出数字键盘, 用于接收用户输入的数字; 3.UILabel 控件 : 两个分别显示 + 和 = 符号, 这个不变, 最后一个 Label 标签 用于显示 用户从 UITextField 输入的两个数之和....退出键盘方式 : 两种方式 ① 哪个 TextField 触发的, 通过对应的 TextField 控件 关闭键盘; ② 通过 父控件 关闭 软键盘; ① 谁触发谁关闭 : 调用控件的 resignFirstResponder...方法 退出键盘, 该方法只能关闭控件本身触发的软键盘, 示例 [self.textField resignFirstResponder] 关闭 textField 属性对应的控件触发的软键盘; ②

    4.9K30

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

    (视频播放、下一首) - (void)remoteControlReceivedWithEvent:(UIEvent *)event; 事件链 当我们用手指轻触屏幕,iPhone OS会将它识别为一组触摸对象...其中涉及到了UIView中的两个方法(可以重写),当hitTest返回YES才会调用这个View的 Touch事件,因为如果返回NO,则当前View被排除在相应链之外了。 ?...由于这些方法是事件进入应用程序的通道,所以,您可以从UIApplicationUIWindow派生出子类,重载其sendEvent:方法,实现对事件的监控执行特殊的事件处理。...我们在使用UITextView和UITextField的时候,可以通过它们的inputAccessoryView属性给输入时呼出的键盘加一个附属视图,通常是UIToolBar,用于回收键盘。...但是当我们要操作的视图不是UITextViewUITextField的时候,inputAccessoryView就变成了readonly的。

    2.5K30

    Mac 常用快捷键与操作

    MAC 卸载程序 设置“触发角”快速回到桌面 参考文献 1.前言 从 Windows 切换到 Mac,我想你最不习惯的便是键盘的使用。...Mac 电脑一般都不怎么用鼠标,因此其触摸屏有丰富的单指、双指、三指甚至四指的操作之外,再加上众多的快捷键,足以应对日常操作。...系统不提示 锁屏、睡眠、重启、关机、退出登录 快捷键效果Control + Command + Q锁屏Control + Shift + 电源按钮睡眠。...不适用于触控ID传感器Control + Command + 电源按钮强制重启。不适用于触控ID传感器Control + Option + Command + 电源按钮关机。...上箭头Page Up:向上滚动一页Fn + 下箭头Page Down:向下滚动一页Fn + 左箭头Home:滚动到文稿开头Fn + 右箭头End:滚动到文稿末尾 其他 快捷键效果 3.手势 单指: 轻触滑动

    3.7K20

    NSNotificationCenter 通知的使用方法详解你要知道的KVC、KVO、Delegate、Notification都在这里

    ,点击按钮跳转到NextViewController视图中,NextViewController中包含一个输入框和一个按钮,用户在完成输入后点击按钮退出视图跳转回ViewController并在ViewController...inputTextValueChangedNotification" object:nil userInfo:@{@"inputText": self.textField.text}]; //退出视图...,顾名思义一个是键盘即将展示,一个是键盘即将退出的通知,接下来给一个简单的实现: #import "ViewController.h" #define ScreenWidth [[UIScreen mainScreen...self.textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 10, ScreenWidth - 40, 40)...丝滑键盘 备注 由于作者水平有限,难免出现纰漏,如有问题还请不吝赐教。

    2.3K60

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

    最近在项目中经常用到UITableView中的cell中带有UITextFieldUITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...翻译:你可以在任何视图窗口上添加HUD。 然而,避免将HUD添加到具有复杂视图层次结构的某些UIKit视图(UITableViewUICollectionView)是一个好主意。...2.1 UITextFieldUITextView点击之后的详细流程   在对cell进行封装和自定义的时候,我们需要考虑我们的UITextFieldUITextView从点击编辑框到结束编辑的整个过程是怎么样的...下面的流程就是UITextFieldUITextView在整个编辑过程中的详细流程步骤: 在成为第一响应者之前,文本框调用其代理的textFieldShouldBeginEditing:  方法来允许阻止其第一响应者...  在前面的2.1的UITextFieldUITextView点击之后的详细流程分析中我们知道,在点击文本之后弹出键盘时会发送一个UIKeyboardWillShowNotification的通知,

    3.9K80

    【IOS开发基础系列】UIAlertController专题

    根据苹果官方的定义,“警示”样式的按钮是用在可能会改变删除数据的操作上。因此用了红色的醒目标识来警示用户。...以前我们只能在默认视图、文本框视图、密码框视图、登录和密码输入框视图中选择,现在我们可以向对话框中添加任意数目的UITextField对象,并且可以使用所有的UITextField特性。...当我们使用iPad其他常规宽度的设备时,就会得到一个运行时异常: Terminating app due to uncaught exception ‘NSGenericException’, reason...3 开发技巧 3.1 常见问题 3.1.1 集成键盘监听后,重复进入页面挂机问题         在项目中,由于自定义AlertView中有用到textfield,故AlertView中添加了键盘显示隐藏的通知监听...若不及时移除上一个实例监听,便会添加两次监听,但是键盘通知回调时,由于上一实例被释放了,便会在IOS8.0上报找不到对象实例的错误。

    53430

    六天完成一个简单iOS App - 第二天

    关于三个button添加约束的方法:可以先设置中间按钮约束,然后约束三个按钮相互之间的间距为0。左边按钮与屏幕左边间距为0,右边按钮与屏幕右边为0,高度相同。最后约束三个按钮平分屏幕宽度。...的 becomeFirstResponder 和 resignFirstResponder 方法 //调用时刻 : 成为第一响应者(开始编辑\弹出键盘\获得焦点) - (BOOL)becomeFirstResponder...{ return [super becomeFirstResponder]; } //调用时刻 : 不做第一响应者(结束编辑\退出键盘\失去焦点) - (BOOL)resignFirstResponder...:nil]; } 点击空白区域使textfield退出第一响应者 // 空白区域点击也关闭 -(void)touchesBegan:(NSSet *)touches withEvent...方法的抽取和一些知识点总结 1. uitextfield添加分类,直接修改站位文字颜色。

    2.1K50

    SwiftUI TextField进阶——格式与校验

    因此,在最近几个月的时间里,我逐渐抛弃了通过自行封装使用其他第三方扩展库来实现某些需求思路。...开发可以直接使用非String类型的数据(整数、浮点数、日期等),通过Formatter来格式化录入的内容。...如何在TextField中屏蔽无效字符 现有屏蔽字符方法 在SwiftUI中,可以通过设置仅使用特定的键盘类型来实现一定程度上的录入限制。...另外,由于其支持键盘类型有限,在很多的应用场合都捉襟见肘。最典型的例子就是numberPad是不支持负号的,意味着它仅能适用于正整数。...有些开发者可以通过自定义键盘添加inputAccessoryView来解决,但对于其他没有能力精力的开发者来说,如果能直接对录入的无效字符进行屏蔽则也是不错的解决方案。

    8.2K20

    InCopy 2021:提高专业内容创作效率的有力工具!+全版本安装包

    它支持多种文本格式和排版需求,样式、字体和段落设置,使得用户可以在进行编辑和排版时轻松地控制文档的表现形式。...另外,InCopy 2021还提供了多项工具和资源,方便编辑和作者共享,版本控制、注释和讨论。除此之外,InCopy 2021还提供了灵活而直观的工作环境,满足不同用户的需求。...例如,它可以通过轻触和划动来进行内容编辑和排版,也可以通过键盘快捷键来快速完成各种任务。此外,用户可以自定义工作区,以便在一个界面上查看和访问所需的工具和资源。...5.鼠标再选择你要安装的路径新建文件夹命名后(首选建议InCopy 2021软件安装在除C盘之外其它盘,我基本会安装在D盘)。然后我们点击【确定】按钮进行下一步。...8.待InCopy 2021提示已成功安装完成后,我们直接点击【关闭】按钮即可。

    37810

    史上最全的iOS之UITextView实现placeHolder占位文字的N种方法

    前言 iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。...而UITextField只能单独的展示一行内容。从这个角度,UITextView在功能上是优于UITextField的。...但是,众所周知,UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户输入相关信息的作用。...相比较方法一,方法二可以实现动态监听文本的改变,并非弹出键盘就立即清除placeholder,只有当用户开始输入文本的时候。placeholder才会消失。...view来放置退出键盘的Done按钮 UIToolbar * topView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 30

    10.5K40

    《iOS Human Interface Guidelines》——Text Field文本域

    API NOTE 查看UITextField学习更多关于定义文本域并且自定义显示图像和按钮的内容。...一个文本域: 是一个固定高度的圆角区域 当用户点击它时自动显示键盘 可以包含系统提供的按钮,比如书签按钮 可以显示使用多种风格的文本(查看UITextView学习更多关于这个的内容) 使用文本域从用户获取小数量的信息...比如说,你可以在文本域的左边右边显示自定义的图片,或者你可以添加一个系统提供的按钮,比如书签按钮。一般来说,你应该在文本域的左边显示它的用途,在右边显示其额外的特性,比如书签。...定义符合你希望用户输入的内容类型的键盘类型。比如说,你可能想要让用户输入URL、PIN或者电话号码变得简单。iOS提供了很多不同的键盘类型,每一种都设计了一种不同的输入类型。...阅读Managing the Keyboard学习更多关于在你的app中管理键盘的内容。注意你无法控制键盘的输入方法和布局,因为这些取决于用于的语言设置。 本文翻译自苹果官方开发文档

    45120
    领券