文档章节

UITapGestureRecognizer 和 UIBarButtonItem.action 事件冲突

asjoker
 asjoker
发布于 2016/11/23 17:30
字数 131
阅读 12
收藏 0

#UITapGestureRecognizer 和 UIBarButtonItem.action 事件冲突

UITapGestureRecognizer在整个UIView上 UIToolbar在UIView上

###解决方案

实现 UIGestureRecognizerDelegate ,并设置 UITapGestureRecognizer 的 delegate

extension XXXX: UIGestureRecognizerDelegate {
    // MARK: UIGestureRecognizerDelegate

    /*
    此方法在window对象在有触摸事件发生时,
    调用gesture recognizer的touchesBegan:withEvent:方法之前调用,
    如果返回NO,则gesture recognizer不会看到此触摸事件。(默认情况下为YES).
    */
    func gestureRecognizer(
	    gestureRecognizer: UIGestureRecognizer, 
	    shouldReceiveTouch touch: UITouch
    ) -> Bool {
        /*
         UIView ---> UIToolbar ---> UIBarButtonItem ---> action
         touch.view is UIToolbarTextButton
         touch.view?.superview is UIToolbar
         */
        if touch.view?.superview is UIToolbar {
            return false
        }else{
            return true
        }
    }
}

© 著作权归作者所有

共有 人打赏支持
asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
UIImageView响应点击事件

UITapGestureRecognizer 的用法 下面这个比较全一下:

meilidashijie
2013/01/07
0
0
iOS手势与响应者链

这篇文章侧重于讲解手势识别、手势冲突、以及手势与响应链的关系。在处理多个手势识别场景,很容易出现手势冲突的问题,比如,我们需要对图片进行单击、长按、旋转、缩放、拖动、翻转等操作的...

秦明Qinmin
2017/10/30
0
0
UILabel的使用

( 3 ) Label文字竖排 UILabel *verticalLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 50, 100)]; verticalLabel.text = @"你n好n阿"; // verticalLabel.text = @"你 n 好 ......

阴雨音语
2016/01/26
70
0
UIImageView 添加点击事件

// 默认不开始用户点击事件 _image.userInteractionEnabled = YES; // 声明手势 UITapGestureRecognizer *imageTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selecto......

常思过
2014/03/16
0
0
iOS手势识别的简单应用

六种手势 1.手势分类 UITapGestureRecognizer(敲击) 设置numberOfTapsRequired点击的次数 结合代理(BOOL) gestureRecognizer可以选定可点击的区域 UIPinchGestureRecognizer(捏合,用于缩放)...

AppleDream
2016/06/22
22
1

没有更多内容

加载失败,请刷新页面

加载更多

分布式锁的那点事

在多线程并发的情况下,要保证一个代码块在同一时间只能由一个线程访问,可以用锁来保证,比如java的synchronized语法以及ReentrantLock类等等。这样子可以保证JVM进程内的多个线程同步执行。...

无语年华
26分钟前
2
0
apahce启用http2

需要前置条件传送门 其实前置做完了,h2是很简单的事 1.apache启用http2_module 2.打开apche的配置文件,写上 Protocols h2 http/1.1 3.重启apache,打开浏览器看看吧...

gcudwork
42分钟前
1
0
redis-string

set key value 设置值 set命令有以下选项: ex senconds :为健设置秒级过期时间 px millisencondes :为健设置毫秒级过期时间 nx :健不存在时候,可以设置成功,用于添加 xx : 与nx相反,不...

拐美人
48分钟前
2
0
正弦 余弦 角度 用于画时钟

<html> <head> <title>时钟</title> </head> <style> #canvas{ background: #1977ca } </style>......

一箭落旄头
今天
4
0
驰狼课堂

http://www.chilangedu.com/

求是科技
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部