• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > iphone触摸精灵iPhone触摸文本框之外键盘消失?

iphone触摸精灵iPhone触摸文本框之外键盘消失?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了iphone刷机精灵,iphone触摸精灵,刷机精灵iphone版,iphone按键精灵,iphone触动精灵等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:iphone触摸精灵 iPhone触摸文本框之外键盘消失?
描述:

有没有方法能在触摸文本框之外时让键盘消失?

原问题:iphone, dismiss keyboard when touching outside of textfield


解决方案1:

如果界面不复杂你可以在View中添加一个Button,设置成Custom类型,再将它置于最底层,并为这个Button添加事件。在事件中讲键盘隐藏。如果界面很复杂,可供点击的区域并不多,可以考虑在键盘上方放置一个隐藏按钮。其次,实现TextField的DidEndOnExit事件,在该事件中隐藏键盘。

解决方案2:

Jensen2k
你需要添加一个UITapGestureRecogniser并且指定到视图,然后在选择器调用文本框拒绝第一个响应。
代码:
viewDidLoad的:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
                                       initWithTarget:self
                                       action:@selector(dismissKeyboard)];

[self.view addGestureRecognizer:tap];

dismissKeyboard的:

-(void)dismissKeyboard {
       [aTextField resignFirstResponder];
}

Joey Tiell
我看到有些人使用UITapGestureRecognizer方法时遇到一些问题。在保留现存按钮敲击行为的完整性的同时,实现这个功能的最简单的方式是在Jensen2k的回答中添加一行代码:

[tap setCancelsTouchesInView:NO];

这能在不使用Dmitry Sitnikov的函数的情况下雨荨现存按钮继续发挥作用。
阅读一下这个资源 (搜索CancelsTouchesInView):
UIGestureRecognizer Class Reference
我不去确定它怎样协同滚动条工作,因为我看到了一些问题,其他人也有可能遇到类似的情况。


Prasad
看看这个,或许这是最简单的方式:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
      [self.view endEditing:YES];// this will do the trick
}

Dmitry Sitnikov
给UIView一个UIControl(在界面生成器里)的实例或许会更好。然后连接"Touch Up Inside"事件到dismissKeyboard函数。这个IBAction看起来是这个样子的:

- (IBAction)dismissKeyboard:(id)sender {
    [aTextBox resignFirstResponder];
}

Mr H
看看这个怎么样,我知道这是个老方法,但是或许管用:

-(void)touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event {   
    NSArray *subviews = [self.view subviews];
    for (id objects in subviews) {
        if ([objects isKindOfClass:[UITextField class]]) {
            UITextField *theTextField = objects;
            if ([objects isFirstResponder]) {
                [theTextField resignFirstResponder];
            }
        } 
    }
}

Enzo Tran
我认为最简单,也是最好的方式是继承全局视图,使用hitTest:withEvent函数来监听任何触摸。键盘上的触摸是没有注册的,所以只有在你触摸/滚动/强击...别的地方的时候才调用hitTest:withEvent,然后调用[self endEditing:YES]。
这比用touchesBegan更好,因为当你点击视图顶部的按钮时touchesBegan是不会被调用的。这也比UITapGestureRecognizer方法好,因为UITapGestureRecognizer不能识别滚动手势等。这还比暗化界面好,因为在动态复杂的用户界面上,不是在任何地方都可以暗化界面的。除此之外,它还不能阻止其他操作,你不需要在外部轻按两次来选择一个按钮(比如UIPopover)。
另外,这比调用[textField resignFirstResponder]好,因为屏幕上可能有很多文本框,这个对所有都有效。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iphone触摸精灵iPhone触摸文本框之外键盘消失?

相关文章

  • 2017-06-05 uicollectionviewcell自适应问题
  • 2017-06-05 h5页面如何根据手机系统字体来改变网页字体
  • 2017-06-05 iOS基础控件iOS中的NSURLSession从网络获取数据
  • 2017-06-05 iOS关于elasticsearch的接口怎么调用啊
  • 2017-06-05 苹果mac笔记本(swift)没有苹果Mac电脑怎么上传APP?
  • 2017-06-05 使用高德地图定位时,发现WIFI的时候可以显示正确位置,而在使用3G网络的时候定位出现了偏差
  • 2017-06-05 swift请问我该如何用正规化读取本文档存成array
  • 2017-06-05 不同城市天气实时对比
  • 2017-06-05 使用xibautolayout,对父视图进行动画,子视图并不能自动改变布局
  • 2017-06-05 IOS[音频]如何播放流数据G711格式data类型一帧一帧的数据

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • swift3如何用纯代码显示autolayout不同布局
    • WEEXstorage模块在iOS端setItem失败
    • ios固件下载ios区分渠道下载注册
    • iOSXIB怎么进行屏幕是配啊
    • Nodejs长连接服务器iOS端报错ErrorDomain=GCDAsyncSocketErrorDomainCode=7
    • 南京ios培训南京有没有iOS方面的技术聚会
    • 两个手机A,B同一app,A显示二维码,B扫描,A如何直接知道B扫面完成?
    • 水果忍者变态版ipa没有开发者账号打包ipa无法安装应用
    • Swift如何将json按需储存在字典当中?
    • 并行Nav的跳转,从Nav1中控制器跳转到Nav2的控制器并且点击后退回到Nav2(表达可能不准确欢迎指正)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有