首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >iOS - 在触摸UITextField外部时关闭键盘?

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

提问于 2017-12-25 02:56:30
回答 3关注 0查看 475

我想知道如何让键盘消失,当用户触摸外面的UITextField。

回答 3

Dust

发布于 2017-12-25 03:29:14

检查一下,这将是最简单的方法来做到这一点,

代码语言:txt
AI代码解释
复制
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
代码语言:txt
AI代码解释
复制
      [self.view endEditing:YES];// this will do the trick
代码语言:txt
AI代码解释
复制
}

要么

这个库将处理包括滚动条自动滚动,点击空间隐藏键盘等...

https://github.com/michaeltyson/TPKeyboardAvoiding

秋之夕颜清

发布于 2017-12-25 03:29:00

找到了一些答案。

使用在viewDidLoad期间被初始化:

代码语言:txt
AI代码解释
复制
UIGestureRecognizer *tapper;
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
- (void)viewDidLoad
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    [super viewDidLoad];
代码语言:txt
AI代码解释
复制
    tapper = [[UITapGestureRecognizer alloc]
代码语言:txt
AI代码解释
复制
                initWithTarget:self action:@selector(handleSingleTap:)];
代码语言:txt
AI代码解释
复制
    tapper.cancelsTouchesInView = NO;
代码语言:txt
AI代码解释
复制
    [self.view addGestureRecognizer:tapper];
代码语言:txt
AI代码解释
复制
}

关闭正在编辑的内容:

代码语言:txt
AI代码解释
复制
- (void)handleSingleTap:(UITapGestureRecognizer *) sende
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    [self.view endEditing:YES];
代码语言:txt
AI代码解释
复制
}

御姐万岁

发布于 2017-12-25 03:28:34

你需要添加一个UITapGestureRecogniser并将其分配给视图,然后UITextField在其选择器上调用resign first responder 。

代码:

在viewDidLoad中

代码语言:txt
AI代码解释
复制
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
[self.view addGestureRecognizer:tap];

在关闭键盘:

代码语言:txt
AI代码解释
复制
-(void)dismissKeyboard 
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    [aTextField resignFirstResponder];
代码语言:txt
AI代码解释
复制
}

(哪里aTextField是负责键盘的文本字段)

Swift 3版本看起来像这样

代码语言:txt
AI代码解释
复制
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
代码语言:txt
AI代码解释
复制
self.view.addGestureRecognizer(tapGesture)

对于dismissKeyboard

代码语言:txt
AI代码解释
复制
func dismissKeyboard (_ sender: UITapGestureRecognizer) {
代码语言:txt
AI代码解释
复制
    aTextField.resignFirstResponder()
代码语言:txt
AI代码解释
复制
}
和开发者交流更多问题细节吧,去 写回答
相关文章
iOS键盘防键盘遮挡库 KKInputAvoidKeyBoard 每个 UITextField 都可以自己控制
/* 键盘遮挡后,是否自动调整,防止键盘遮挡 */ var isAvoidKeyBoardEnable: Bool
onety码生
2018/11/21
1.5K0
iOS-UITextField 全面解析iOS中UITextField 使用全面解析UITextField的代理方法通知UITextField 在storyboard 中设置属性
iOS中UITextField 使用全面解析 建议收藏,用到的时候来这里一查就都明白了 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef NS_ENUM(NSInteger, UI
xx_Cc
2018/05/10
7.3K0
iOS UITextField 限制输入
但是如果很多页面的TextField控件需要验证这样写就很麻烦,为了不重复造轮子。写了一个Category。只实现了输入长度限制,输入数字,输入字母,如果不能满足需求可自行扩展。
赵哥窟
2019/01/28
1.2K0
IOS UITextField 事件列表
//UITextFieldDelegate import UIKit class ViewController:UIViewController,UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let rect = CGRect(x:10, y:80, wid
用户5760343
2019/07/08
1.1K0
iOS UITextField详解
除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。
码客说
2019/10/22
1.8K0
iOS开发——定制UITextField
在iOS中UITextField这个控件作为文本输入控件一定是使用率最高的几个控件之一,而iOS提供的默认的原始TextField的造型肯定在开发时很难满足我们的要求,原因很简单,不够美观,实在太单调。所以今天我们从一些简单的复写UITextField方法开始,来讲一讲如何定制一个属于自己的UITextField。
Originalee
2018/08/30
1.6K0
IOS UITextField UIButton 结合
根据textfield的内容显示不同button的图像 image.png import UIKit class ViewController:UIViewController,UITextFiel
用户5760343
2019/07/08
9560
IOS UITextField UIButton 结合
iOS 实时监听UITextField输入事件
searchTextField=[[UITextFieldalloc]initWithFrame:CGRectMake(30,0,searchView.frame.size.width-120,30)];     [searchTextFieldsetPlaceholder:MYLocalizedString(@"shangpinmingchengtiaoma",@"")];     searchTextField.font = SearchViewTextFont;     [searchTextF
Lee坚武
2019/12/18
2.1K0
iOS UITextField 使用与方法解读
UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等。
珲少
2018/08/15
1.2K0
iOS UITextField 文本输入框
///UILabel 显示的文本只读,无法编辑,可以根据文字个数自动换行; ///UITextField 可编辑本文,但是无法换行,只能在一行显示;当点击键盘上的return时会收到一个事件做一些事情。 ////UITextView 可编辑文本,提供换行功能。
Lee坚武
2020/01/19
3.2K0
关闭软键盘
View view = getWindow().peekDecorView(); if (view != null) { InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0); }
tea9
2022/07/16
1.4K0
点击空白关闭键盘
self.view.userInteractionEnabled = YES;
星宇大前端
2019/01/15
1.4K0
【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ;
韩曙亮
2023/03/27
7K0
【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
iOS UITextField 限制输入长度控件
在项目中,UITextField基本上都要求输入长度限制,通常的做法是监听UITextField
赵哥窟
2019/04/01
3.3K0
IOS UITextField文本框控件
import UIKit class ViewController:UIViewController, UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let rect = CGRect(x:60, y:80, width:200, height:30) l
用户5760343
2019/07/08
1.9K0
IOS UITextField文本框控件
iOS之分段控制器UISegmentedControl1. 分段控制器(UISegmentedControl)2. 事件监听3. 手势事件大全
1. 分段控制器(UISegmentedControl) 作用:同一时刻只能选中一个标签 基本使用:创建、设置选中、将其放在Navigation标题上 //创建 UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:@[@"分组",@"全部"]]; //将其放在Navigation标题上 self.navigationItem.titleView = segmentControl; //分组器默认选中项
stanbai
2018/06/28
1.4K0
断言和分段控制器1. 断言(Assertions)2. 分段控制器(UISegmentedControl)
1. 断言(Assertions) 断言检查对应预期结果的具体条件。如果条件不符合预期结果, Xcode会报错指出断言失败。例如,可以断言你的Developer 类响应“writeKillerApp: message”;如果它没有,断言失败,Xcode报错。 例如:判断是否是UIViewController 的字类 NSAssert([class isSubclassOfClass:[UIViewController class]], @"-----------%@ is not a kind o
stanbai
2018/06/28
8170
iOS UITextField 显示银行卡格式
输入框显示银行卡格式,即为每隔4位出现一个空格, 下面使用UITextFieldDelegate,编码实现: 首先引用使用代理
网罗开发
2021/01/29
8350
iOS 12.0 WebView键盘弹出,关闭后界面没有回收的问题
公司有人反馈,iOS 12.0的手机上,H5页面有个地方键盘弹出了,关闭之后,再次点击输入框,没有反应了,其实是界面上移了之后,没有回到原来的位置。所以导致再次点击输入框时,没有反应
莫空9081
2021/05/10
2.6K0
点击加载更多

相似问题

自动化测试,鼠标键盘模拟事件在远程桌面关闭后无法进行?

1434

iOS IM 使用TUIKit 日志无法关闭的吗?

1591

随心播DEMO ios无法发布,键盘挡住了发布按钮?

3363

单击外部时隐藏列表

2268

如何检查UITextField何时更改?

2131
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
到家集团 | 技术VP擅长5个领域
腾讯云TDP | KOL擅长5个领域
擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文