首页 > 代码库 > uiscrollview 事件冲突
uiscrollview 事件冲突
self.scrollView.panGestureRecognizer.delaysTouchesBegan = YES;
设置scrollView的延迟接收点击触摸事件,关闭触摸事件
self.scrollView.delaysContentTouches = YES; button无法识别点击事件
既要能实现button点击效果,又要实现画板画画无延迟,那么解决办法来啦~
首先要设置scrollView的两个属性
self.scrollView.canCancelContentTouches = YES; self.scrollView.delaysContentTouches = NO;
- delaysContentTouches表示scrollView的子控件响应触摸事件是否有延迟,NO表示立即响应,YES表示延迟响应;
- canCancelContentTouches与delaysContentTouches相反,假如你设置canCancelContentTouches为YES,那么当你在UIScrollView上面放置任何子视图的时候,在子视图上移动手指的时候,UIScrollView会给子视图发送touchCancel的消息,既不响应触摸事件。而如果该属性设置为NO,ScrollView本身不 处理这个消息,全部交给子视图处理。
-(BOOL)touchesShouldCancelInContentView:(UIView *)view{ if ([view isKindOfClass:[UIButton class]]) { return YES; } return [super touchesShouldCancelInContentView:view];}//在触摸事件开始相应前调用- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view{ if ([view isKindOfClass:[HBSignView class]]||[view isKindOfClass:[UIButton class]]) { return YES; } return NO;}
原创:原文链接:http://www.jianshu.com/p/c57ed75e563c
uiscrollview 事件冲突
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。