作者electgpro (Ray(甫))
看板MacDev
標題[問題] forwarding touches event to UIScrollView
時間Mon Oct 25 13:09:58 2010
目前做一個展示圖片的app
因為要用到某些特效
所以基本上是用opengl去display這張圖片
而現在因為要做zoom in & out的功能
想說用touchesBegin這個function去addSubview一個UIScrollview
(這邊會成功)
然後把parent view所接受到的touch event forward到UIScrollview
(這樣才能「馬上」有pinch的效果,否則就要等到下次touch)
forward的時候是成功的(我做了一個subclass of UIScrollview)
但是放大效果卻沒有出現...
然而到第二次trigger的時候(scrollview已經建好了)
放大效果有出來...但是似乎沒有trigger UIScrollview裡面的touchesMoved
有稍微查了一下資料:似乎是iOS 3.0之後UIKit不走touchesMoved等等的event handler
而stanford的iphone course也說請不要forward touch event到UIKit
難道我真的要自己寫一個scrollview嗎orz
有沒有其他辦法?
謝謝︿︿
--
嗯...我的view是這樣疊的
第一次trigger之前只有EAGLView(opengl view)
trigger後變成
EAGLView(opengl view) 包 ScrollView(subclass of UIScrollView)
that is [glView addSubView: scrollView];
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.21.77
※ 編輯: electgpro 來自: 114.32.21.77 (10/25 13:13)
1F:→ zonble:你沒有解釋你的 opengl view 與 scrollview 怎麼疊的 10/25 15:38
2F:→ zonble:這樣別人會看不懂哩。 10/25 15:38
※ 編輯: electgpro 來自: 114.32.21.77 (10/25 16:04)
3F:→ zonble:要用 scroll view 的效果,是要把內容 view 變成 scroll 10/27 00:00
4F:→ zonble:view 的 subview,但是你現在卻剛好相反 10/27 00:00
5F:→ zonble:話說既然是 opengl,也可以試試自己處理事件,然後改變 10/27 00:01
6F:→ zonble:viewport? 10/27 00:01
7F:→ electgpro:就是自己處理事件很麻煩~"~ 10/27 15:55