作者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