如何点击某区域以外的区域来关闭这个区域
来源:互联网 发布:奶粉知乎 编辑:程序博客网 时间:2024/06/06 19:47
今天项目开发过程中碰到了如何点击某区域以外的区域来关闭这个区域的问题,比如我们点一个按钮,弹出一个视图,但是想通过点击此区域以外的地方来关闭这个区域。
通过加手势加到self.view上,而self.view 上面已经addsubview了很多subview,那么这些subview也能响应这个手势。
也就是说,如何点击某区域以外的区域来关闭这个区域的问题变为如何让一部分区域响应手势,而一部分区域不响应手势的问题。
方法如下:
通过实现
UIGestureRecognizerDelegate协议的- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch方法。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.viewisDescendantOfView:forgotPasswordView]|| [touch.viewisDescendantOfView:aboutView]|| [touch.viewisDescendantOfView:setView] || [touch.viewisDescendantOfView:mediaTransTypeSetView]) //forgotPasswordView等为不想响应手势的subview
returnNO;
else
returnYES;
}
- 如何点击某区域以外的区域来关闭这个区域
- 浅谈利用遮罩实现点击某区域以外时弹窗的弹出与关闭
- 点击div以外的区域div消失
- 点击控件以外的区域使页面(activity)关闭,dispatchTouchEvent用法
- 点击Dialog以外的区域不让其隐藏的解决办法
- 点击导航栏以外区域也会返回的问题
- 点击div以外的其他区域,div隐藏
- js 点击元素以外的区域隐藏 实现
- Js点击文字弹出层,点击层以外区域关闭层
- 点击键盘以外空白区域隐藏键盘
- Android 点击EditText以外区域键盘消失
- 点击popupwindow以外区域 popupwindow自动消失
- Android点击EditText以外区域,键盘消失
- ionic实现点击popup区域外部来关闭popup
- TouchDelegate 来增大按钮的点击区域
- navigationItem 上的按钮 点击按钮区域以外的地方仍会响应点击事件
- 点击按钮显示一个弹出框,点击一个弹出框以外的区域,隐藏弹出框
- angularjs实现点击图标显示div,点击div以外的区域隐藏div
- QTP之datatable用法笔记
- (华为机考题)通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- Java 中的垃圾回收策略
- ubuntu共享
- C++ 虚函数表解析
- 如何点击某区域以外的区域来关闭这个区域
- linux从零开始学习笔记第一天(共十天)
- prettify 代码高亮着色器google出品
- 如何在Windows系统中配置Mysql群集(Mysql Cluster)
- Qt常用类介绍
- html5 文字特效
- 菏泽4路公交车
- 如何取消WIN2008下应用报错后弹出的对话框 程序已停止 要求关闭程序
- 【原】训练自己haar-like特征分类器并识别物体(2)