前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >touchesBegan: withEvent: 不执行/完美收起键盘

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

作者头像
全栈程序员站长
发布2022-09-15 10:09:17
8160
发布2022-09-15 10:09:17
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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 nextResponder] nextResponder] touchesBegan:touches withEvent:event];

}

到此完美解决。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档