我有一个基本视图控制器VC1和另一个以全屏方式模态呈现(在VC1上方)的视图控制器VC2。
VC2是半透明的,当用户点击或滚动时,我希望将所有触摸事件从VC2转发到VC1。(VC1具有一些按钮和scrollview)
我应该使用某种自定义容器吗?如何呈现VC2以覆盖整个屏幕并将所有触摸传递给VC1?模态是否正确的答案?
我已经尝试在VC2中将VC1存储为变量的引用,并通过touchesbegan将事件传递给VC1,但这没有起作用。
谢谢。
我有一个基本视图控制器VC1和另一个以全屏方式模态呈现(在VC1上方)的视图控制器VC2。
VC2是半透明的,当用户点击或滚动时,我希望将所有触摸事件从VC2转发到VC1。(VC1具有一些按钮和scrollview)
我应该使用某种自定义容器吗?如何呈现VC2以覆盖整个屏幕并将所有触摸传递给VC1?模态是否正确的答案?
我已经尝试在VC2中将VC1存储为变量的引用,并通过touchesbegan将事件传递给VC1,但这没有起作用。
谢谢。
[self.view addSubView:secondView];
不要将以下方法放在您的VC1中。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitView = [super hitTest:point withEvent:event];
// check your condition here, if button is pressed on secondView and you want to pass event on mainview the simply return mainView. This event will be passed to mainView.
if ([secondView.button isEqual:hitView])
{
return self.view;
}
else
{
return nil;
}
return hitView;
}