swif解决手势冲突

有时候我们在一个大的透明view上添加一个小的view,需要点击透明view时remove掉,但是我们不希望触碰到小的view上也remove就需要实现

UIGestureRecognizerDelegate:

private func addGesture() {

let tapGesture = UITapGestureRecognizer(target: self, action: Selector("handleTapGesture"))

tapGesture.delegate = self

self.addGestureRecognizer(tapGesture)

}

//MARK:UIGestureRecognizerDelegate  判断当前的view具体是谁

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {

if touch.view!.isDescendantOfView(点击时候不消失的小view) {

return false

}

return true

}

时间: 2024-12-13 17:44:06

swif解决手势冲突的相关文章

手势相关-解决手势冲突

解决UITableview点击事件与手势的冲突 1.签手势代理 <UIGestureRecognizerDelegate> 2.是tableview点击事件则屏蔽手势 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if ([touch.view isKindOfClass:[UIScrollView class]]) { retur

iOS开发 MMDrawerController左右抽屉打开手势与中心视图子视图控制器手势冲突问题的解决方案

MMDrawerController是一个很好用的解决抽屉效果的第三方类,但有时候当我们在中心视图控制器中需要使用手势进行其他操作的时候会产生手势冲突,导致运行效果不符合我们的想象.那么问题来了,该怎么解决冲突问题呢? 下面是我在使用过程中的个人总结: 我的需求: 1.有一个左抽屉和中心视图控制器,从中心视图控制器右滑可以打开左抽屉. 2.中心视图控制器中的TableViewCell可通过滑动手势删除 问题所在: 1.由于删除cell的左滑手势和MMDrawerController的打开右抽屉的

JSON、数据存储、对象唯一和手势冲突

有时候加载数据的时候,后台正常返回了,安卓正常显示了,可是无论是加载更多还是访问数据,就是加载不了那么多.这时候就要考虑是不是JSON中有哪些是iOS不支持的特殊标记或者字符了,别再苦苦找代码逻辑,语法错误了,特别是那种原来没问题,现在有问题的.不要管别人是否暗示你,咋我设备就行,你咋显示不了,是不是你技术不行.明确告诉他,不是,可能是数据的问题. 有时候你需要保存一个数据,例如时间,你需要在启动的时候就保存一下时间,然后每次启动都在和这个时间做比较,可是怎么能让你保存的时间不被系统启动时不断的

UItableView 加手势冲突问题的解决

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // 获取点击的view的类名 NSLog(@"%@", NSStringFromClass([touch.viewclass])); // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件 if ([NSSt

简单灵活解决 Viewgroup嵌套 产生的手势冲突问题

转载请标明原文地址:简单灵活解决 Viewgroup嵌套 产生的手势冲突问题 这是接着上一篇Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)的,这里介绍一下怎么 简单灵活解决Viewgroup嵌套产生的手势冲突问题.虽然这里只是以ViewPager为例,但是提供了一种解决此类问题的通用思路. 先来看一下网易新闻客户端的界面效果: 当手势方向为蓝色箭头区域方向时,响应ListView的滑动 当手势方向为黄色箭头区域方向时,响应ViewPager的图片滑动 上一篇实现的Demo效果图

iOS解决嵌套在ScrollView中的TableView滑动手势冲突问题

最近在迭代开发公司项目的时候遇到了一个问题,在可以左右切换标签视图的ScrollView中嵌套了两个TableView用于展示视图,感觉一切so easy的情况下,问题出现了,因为左右两个视图既可以实现标签切换,其中TableView还需要侧滑删除功能,那么问题来了,滑动手势懵逼了,这是要搞事情啊!他无法识别到底要做什么处理,因为滑动手势冲突了,下面简单介绍一下解决思路: 大致的项目需求如上图所示: 经过一番资料的查阅,解决办法就是继承自UIScrollView,重写UIScrollView类:

iOS自定义全屏返回与tableView左划删除手势冲突解决

当自定义一个navigationController实现全屏右划返回时, 使用起来是不是很爽, 代码如下: - (void)viewDidLoad { [super viewDidLoad]; UIGestureRecognizer *gester = self.interactivePopGestureRecognizer; UIPanGestureRecognizer *panGesTer = [[UIPanGestureRecognizer alloc] initWithTarget:ge

解决右滑返回手势和UIScrollView中的手势冲突

项目中遇到一个页面中是以一个scrollview横向Tab展示两个不同功能的显示,譬如消息和公告功能,但是由于滑动返回手势和scrollview的滑动返回手势冲突了,导致页面不再能够滑动返回.类似的还有图片浏览功能也出现过. iOS系统中,滑动返回手势,其实是一个UIPanGestureRecognizer,系统默认的操作是只有滑动屏幕的左边的某个位置,UIPanGestureRecognizer才会起作用.UIScrollView的滑动手势也是UIPanGestureRecognizer.那在

iOS 手势冲突

UITableView以及ScrollView不能相迎TouchBegin处理 IOS开发之手势--UIGestureRecognizer 共存 // 关键在这一行,如果双击确定偵測失败才會触发单击 [singleRecognizer requireGestureRecognizerToFail:doubleRecognizer]; 关于UIScrollView不能响应UITouch事件的解决办法 覆盖touch事件 ios的手势操作之UIGestureRecognizer浅析 UITapGes