touchesBegan: withEvent: 不执行/完美收起键盘

touchesBegan: withEvent: 不执行/完美收起键盘eg:写一个category类目 UIScrollView+Event-(void)touchesBegan:(NSSetUITouch*>*)toucheswithEvent:(UIEvent*)event{  [supertouchesBegan:toucheswithEvent:event];  [[[selfnext

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

eg:写一个category类目  UIScrollView + Event

– (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    [super touchesBegan:touches withEvent:event];

    [[[self nextResponder] nextResponder] touchesBegan:touches withEvent:event];

}

应用场景:

操作:点击ScrollView上的textFiledView -> 再点击ScrollView上的button

希望能够收起键盘(项目中有无数个这样的操作)

材料:BaseViewController(这是所有ViewController的基类)

1.在BaseViewController写入

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    //分别取消第一响应者

    [[[UIApplication sharedApplication] keyWindow] endEditing:YES];

}

注:点击添加在self.view上的控件已经可以响应了,但是ScrollView上的控件不会响应。

2.写一个category类目  UIScrollView + Event.h

– (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    [super touchesBegan:touches withEvent:event];

    [[[self nextResponder] nextResponder] touchesBegan:touches withEvent:event];

}

注:点击ScrollView上的textFiledView已经可以响应了,但是ScrollView上的button还是不能响应

3.
写一个category类目  UIButton + Event.h

– (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    [super touchesBegan:touches withEvent:event];

    [[[self nextRespondernextRespondertouchesBegan:touches withEvent:event];

}

到此完美解决。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164162.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月25日 下午12:00
下一篇 2022年7月25日 下午12:00


相关推荐

  • mysql的uuid获取「建议收藏」

    mysql的uuid获取「建议收藏」mysql>SELECTUUID();mysql>c2cb8f66-351f-11e7-b3ed-00163e0429b6mysql>SELECTREPLACE(UUID(),’-‘,”);#将’-‘符号替换掉mysql>45c87fa0352211e78d40d4977a9ea871带‘-’字段长度是36,去掉后32位…

    2022年8月10日
    53
  • Windows部署WSUS补丁服务器

    Windows部署WSUS补丁服务器WSUS 全称 Windowsserve 是微软在其网络结构中提供的关于系统补丁更新的一个解决方案 完全免费 现在最新的版本是 WSUS3 0SP2 在生产环境中部署 WSUS 的应用价值主要是提高网络资源的利用率 节省带宽 同时对于客户端计算机来说呢 更新效率也更高一些 在日常大家都习惯了用第三方工具给系统打补丁 局域网的 PC 数量少了便罢 如果多于 50 台 只是给系统以及微软产品打补丁这一项工作对于网络资源的占用就不可小觑 在 Windowsserve 以前

    2026年3月19日
    2
  • linux修改密码长度限制_linux文件名长度限制修改

    linux修改密码长度限制_linux文件名长度限制修改修改密码长度:设置为不少于8位的。修改最短密码长度需要编辑login.defs文件(vi/etc/login.defs),把下面这行PASS_MIN_LEN5(默认的情况)改为PASS_MIN_LEN8(修改后的情况)login.defs文件是login程序的配置文件 转载于:https://blog.51ct…

    2025年9月19日
    6
  • killall 后面信号_Linux命令之killall

    killall 后面信号_Linux命令之killallkillall 选项 signal 信号 name killall 发送一条信号给所有允许任意指定命令的进程 如果没有指定信号名 则发送 SIGTERM 信号可以是名字或数字 只有信号 0 检查进程是否存在 只能以数字方式指定 如果命令名包括斜杠 那么执行该特定文件的进程将被杀死 这与进程名无关 Killall 进程杀不死自己 但可以杀死其他 killall 进程 1 选项 e e

    2026年3月18日
    1
  • 机器学习中最常见的四种分类模型

    机器学习中最常见的四种分类模型点击蓝字关注我,有干货领取!作者:JasonBrownlee翻译:候博学前言机器学习是一个从训练集中学习出算法的研究领域。分类是一项需要使用机器学习算法的任务,该算法学习如何为数据集…

    2022年10月5日
    3
  • Eclipse中使用SVN[通俗易懂]

    Eclipse中使用SVN[通俗易懂]概述在我们的日常工作中,经常会用到SVN,大多数都是搭配Eclipse/MyEclipse使用。本文主要介绍SVN在Eclipse中的一些最长用的功能,包括SVN插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、解决代码冲突。本文链接:http://blog.csdn.net/v123411739/article/details/225121331.在Eclipse里下载Sub…

    2022年6月3日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号