UIViewController没有将触摸传递给其他视图

时间:2013-05-18 05:45:34

标签: objective-c uiview subview uiwindow uiresponder

我有一个叠加视图(覆盖整个屏幕),我可以接收触摸,但它不会将它们传递给响应者链。

我添加了这样的子视图:

UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow insertSubview:self.view aboveSubview:mainWindow];

如果我使用addSubview或insertSubview似乎并不重要。

My touchesBegan看起来像:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{        
    //do some stuff here..
    [super touchesBegan:touches withEvent:event];
}

如果我使用SUPER或self.nextResponder等的各种其他组合似乎并不重要。

最后,我需要有一个覆盖整个屏幕的覆盖视图,我需要检测触摸然后将它们传递给它们下面的views / viewControllers。

谢谢!

1 个答案:

答案 0 :(得分:0)

你是addView到mainWindow,你的超级视图是mainWindow,而不是viewBlow它。

您需要将视图添加到VC的视图中,如果您想要全屏。将状态栏设置为隐藏(或透明。未尝试),然后将视图的框架设置为(0,-20,重量,高度+20)。