UIViewController 没有将触摸传递给其他视图
Posted
技术标签:
【中文标题】UIViewController 没有将触摸传递给其他视图【英文标题】:UIViewController not passing touches to other Views 【发布时间】:2013-05-18 05:45:33 【问题描述】:我有一个覆盖视图(覆盖整个屏幕),我可以接收触摸,但它不会将它们传递给响应者链。
我这样添加子视图:
UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow insertSubview:self.view aboveSubview:mainWindow];
我使用 addSubview 还是 insertSubview 似乎并不重要。
我的 touchesBegan 看起来像:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
//do some stuff here..
[super touchesBegan:touches withEvent:event];
我是否使用 SUPER 或 self.nextResponder 等的各种其他组合似乎并不重要。
最后,我需要一个覆盖整个屏幕的覆盖视图,我需要检测触摸然后将它们传递给它们下面的视图/视图控制器。
谢谢!
【问题讨论】:
【参考方案1】:你是 addView 到 mainWindow,你的超级视图是 mainWindow,而不是 viewBlow 它。
您需要将视图添加到 VC 的视图中,如果您想要全屏。将状态栏设置为隐藏(或透明。未尝试),然后将视图的框架设置为 (0, -20, weight, height+20)。
【讨论】:
以上是关于UIViewController 没有将触摸传递给其他视图的主要内容,如果未能解决你的问题,请参考以下文章
Objective-c:将值从 AppDelegate 传递给 UIViewController
将触摸事件传递给 UICollectionViewCell 内容?