我有一个带有不透明视图控制器的透明视图控制器的应用程序。不透明的视图控制器具有一个按钮。我想在透明视图控制器中获取触摸并将其记录下来,并且还看到单击的按钮。那可能吗?
当我尝试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];
人们可能希望它的行为相同,但是超类大多数会执行一些附加的操作。