我有一个带有不透明视图控制器的透明视图控制器的应用程序。不透明的视图控制器具有一个按钮。我想在透明视图控制器中获取触摸并将其记录下来,并且还看到单击的按钮。那可能吗?
当我尝试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上的按钮单击...

最佳答案

我知道这是一个老问题。不管怎样,我只是在同一个问题上挣扎。似乎NextResponder并不是正确的接触方法。而是使用:

[super touchesBegan:touches withEvent:event];


人们可能希望它的行为相同,但是超类大多数会执行一些附加的操作。

07-25 23:00