你好我觀察一些在iOS的自定義視圖,在那裏我有側自定義視圖按鈕奇怪的,我找的文件或你的答案傳遞給解釋一下爲什麼我有這樣的觀察怪異IOS觸摸事件與UIGestureRecognizer
我有一個自定義視圖(UIView的的亞類),它包含了一個簡單的按鈕,我結合經由addTarget按鈕觸摸事件:動作與UITouchUpInside,我只是結合它選擇器到的NSLog消息
如果一個簡單的方法顯示自定義視圖並點擊按鈕,您可以在控制檯中看到消息,一切按預期工作。
但是,如果添加了一個UIGestureReognizer到自定義視圖,並運行它,當你按一下按鈕,它不再打印消息,爲什麼??? 我做了更深入的調查,並通過查看自定義視圖中則hitTest方法(視圖包含按鈕)(我重寫,但我並沒有做什麼,我只是超級再次調用)時,則hitTest正在恢復正確的觀點,即當我點擊按鈕,自定義視圖的則hitTest方法返回的UIButton
我不明白這裏的事件鏈,能有人指點,解釋這個文件?
在我看來,當您將regonizer添加到按鈕的容器視圖時,出於某種原因,按鈕不知道如何處理該事件,因此會要求其超級視圖(在此情況下爲自定義視圖)來處理它,但爲什麼?我已經通過UITouchUPInside
綁定事件handeler到按鈕請請幫助我想這
喜亞當,感謝您的回覆,和它的作品。但你能解釋一下到底發生了什麼嗎?我想我要問的是,當我有如上所述的手勢識別器時,當我觸摸按鈕,誰先處理觸摸?自定義視圖容器(具有識別器)或按鈕?碰撞測試表明按鈕是觸摸事件發生時的第一個人,但您的解決方案似乎表明容器視圖阻止事件? – user1233587
識別器首先處理它,然後決定是否通過它。 – Adam