通過添加手勢的方法處理CALayer的點擊事件

當(dāng)給UIView添加Animation動畫時,項目需要添加點擊事件。
但是使用UIButton無效,不響應(yīng)點擊事件。
baidu / google 之。
發(fā)現(xiàn)UILayer不響應(yīng)事件。
換一種思路,發(fā)現(xiàn)可以給整個視圖添加點擊手勢,然后判斷點擊位置來觸發(fā)事件。

代碼片段

//創(chuàng)建手勢添加到視圖上
self.tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(click:)];
[self.view addGestureRecognizer:self.tapGesture];

#pragma mark - 點擊
/** 點擊事件*/
-(void)click:(UITapGestureRecognizer *)tapGesture {

    CGPoint touchPoint = [tapGesture locationInView:self];
    //遍歷當(dāng)前視圖上的子視圖的presentationLayer 與點擊的點是否有交集
    for (UIView *subView in self.view.subviews) {
        if ([subView.layer.presentationLayer hitTest:touchPoint]) {
            NSLog(@"點擊的是:%@",subView);
        }
    }
}
打完收工
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 好奇觸摸事件是如何從屏幕轉(zhuǎn)移到APP內(nèi)的?困惑于Cell怎么突然不能點擊了?糾結(jié)于如何實現(xiàn)這個奇葩響應(yīng)需求?亦或是...
    Lotheve閱讀 59,521評論 51 604
  • -- iOS事件全面解析 概覽 iPhone的成功很大一部分得益于它多點觸摸的強大功能,喬布斯讓人們認識到手機其實...
    翹楚iOS9閱讀 3,214評論 0 13
  • 在iOS開發(fā)中經(jīng)常會涉及到觸摸事件。本想自己總結(jié)一下,但是遇到了這篇文章,感覺總結(jié)的已經(jīng)很到位,特此轉(zhuǎn)載。作者:L...
    WQ_UESTC閱讀 6,249評論 4 26
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,291評論 4 61
  • 第十五條:使可變性最小 1.什么是不可變類? (1)需要的所有參數(shù)必須在實例化的時候都傳進去。(2)對象中所有信息...
    想飛的僵尸閱讀 670評論 2 2

友情鏈接更多精彩內(nèi)容