如何在多个uiwindows之间传递事件
Posted
技术标签:
【中文标题】如何在多个uiwindows之间传递事件【英文标题】:How to deliver events between multiple uiwindows 【发布时间】:2017-02-18 08:27:15 【问题描述】:我正在实现多 uiwindows。
原因是当其他视图转换时,底部最小视图必须始终保持在顶部。
主窗口位于第二个窗口之下。它提供了一种很好的方式来处理单独的视图,而不会造成任何混乱。例如,在主窗口中展示或推送新的视图控制器。
但主要问题不是将事件从第二个窗口传递到主窗口。 第二个窗口除了底部区域外具有透明背景,并且必须将透明背景中的事件传递到第二个窗口。
有没有人知道在分层窗口中处理事件的方法?
【问题讨论】:
【参考方案1】:我确实在 uiwindow 中实现了以下代码。 当事件到达透明窗口区域时,此代码会将事件传递到下面的窗口。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
UIView *resultView = [super hitTest:point withEvent:event];
if (resultView == self)
NSLog(@"touched in transparent window !!");
return nil;
else
NSLog(@"touched in view!!");
return resultView;
return resultView;
【讨论】:
以上是关于如何在多个uiwindows之间传递事件的主要内容,如果未能解决你的问题,请参考以下文章
iOS:如何在多个视图中显示一个小视图而不在每个视图中初始化它?