Re: [問題] 在上下兩層view 的gesture觸發問題
gesture 只要有一個 View 在處理,它就會攔截所有的 gesture 的資訊
不會將它傳給下面的那層 View 使用了
最快的方式是在 View D 建立一個獨立的 Class
在這裡面使用 touchesBegin:WithEvent: 來處理手勢的動作
touches 系列的 Method 是不會將手勢資訊給攔截下來
所以能將手勢的資訊傳到下一層 View 使用。
※ 引述《xareelee (XareeLee)》之銘言:
: 假設目前的View Hierarchy如下
: View A {{0,0},{320,568}}
: |-- View B {{0,0},{320,50}}
: |-- View C {{0,50},{320,518}}
: |-- View D {{0,0},{320,568}}
: 也就是view A的上半部是View B 下半部是View C
: 另外還有一個透明的 View D (專門接收gesture用)蓋住整個畫面
: 我在View B/View C/View D分別加了一些 gesture recognizer
: 主要是View D處理一些特殊的手勢 而且touch point可以跨越View B/C (所以才弄一個D)
: 如果View D的手勢判定失敗 再看touch的點是在View B或C 分別由各自的recognizer處理
: 可是當我View D gesture的delegate method -gestureRecognizerShouldBegin:
: 回傳NO時 touch event似乎沒有傳到 View B/C的gesture recognizer上
: 我嘗試了一些關於gesture relation的設定 都沒有辦法成功
: 我也試過直接把View D 的recoginzer移到View A (並把View D移除)
: 然後設定view B/C 的-requireGestureRecognizerToFail:
: 似乎也是沒辦法
: 請問一下要怎麼樣才能先判定全螢幕的gesture 再判定局部View的gesture?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.185.134
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章