Re: [問題] 在上下兩層view 的gesture觸發問題

看板MacDev作者 (小朱)時間12年前 (2013/04/09 06:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
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
文章代碼(AID): #1HOqEnvS (MacDev)
文章代碼(AID): #1HOqEnvS (MacDev)