消费接触并将它们发送到nextResponder

时间:2012-01-10 09:37:21

标签: ios touch viewcontroller

我有一个带有透明视图控制器的应用程序在不透明的视图控制器上。不透明视图控制器有一个按钮。我想在透明视图控制器中进行触摸并记录它们,还可以看到单击的按钮。那可能吗? 当我尝试nextResponder解决方案时,它不起作用。 当我打印出nextResponder时,我看到它是UIWindow,那可以吗?

AppDelegate只是这样做:

OpaqueViewController *someVC = [[OpaqueViewController alloc] init];
someVC.view.frame = CGRectMake(0, 0, 320, 480);
[self.window addSubview:someVC.view];

TransparentViewController *panel = [[TransparentViewController alloc] init];
panel.view.frame = CGRectMake(0, 0, 320, 480);
[self.window addSubview:panel.view];

所以我尝试了这个:

@implementation TransparentViewController
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.nextResponder touchesBegan:touches withEvent:event];
}

我无法通过OpaqueViewController上的按钮点击...

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题。从来没有我只是在努力解决同样的问题。似乎NextResponder在触摸时不是正确的方法。而是使用:

[super touchesBegan:touches withEvent:event];

人们会期望它表现得相同,但是超级大多数人会表现出一些额外的魔力。