2010-02-10 117 views
0

我试图将触摸事件从UIImageView传递给UIScrollView,但它似乎没有工作。我试图在下面定义我的屏幕元素。本质上,overlaidImage将首先响应所有事件。如果符合条件,我希望它能够处理事件。如果没有,我希望它被传递给imageView,然后到scrollView。我的代码很好地将事件传递给imageView,甚至将事件传递给滚动视图,但滚动视图不会响应捏/缩放事件。只要我从mainView删除重叠的图像,一切都按预期工作。将事件传递给UIScrollView

我的应用程序的设置如下:

MAINVIEW

mainView->滚动视图

mainView-> scrollView-> ImageView的

mainView-> overlaidImage

回答

0

如果overlaidImage是不是scrollView的孩子你怎么可能期望scrollView对overlaidImage中的触摸作出反应?你能否让这个例子更具体一些,使它更容易理解?

+0

对不起,我的解释不够清楚。 overlaidImage实现了touchesBegan/touchesMoved方法。如果满足某个条件,它会对触摸作出响应,一切正常。如果不满足条件,则将响应者链传递给mainView。 mainView还实现了touchesBegan/touchesMoved我转发到scrollview。但是,捏/缩放不起作用。如果我创建一个自定义的滚动视图并覆盖touchesBegan/touchesMoved,我可以看到这些方法正在被调用,但捏/缩放不起作用。 – Mike 2010-02-10 23:47:19

+1

我能够通过覆盖overlaidimage中的hittest方法来解决问题,并让它控制哪个视图应该接收触摸事件而不是在touchesBegan /等中强制。 – Mike 2010-02-11 07:34:01

+0

很高兴你设法解决它:) – willcodejavaforfood 2010-02-11 10:07:39