允许在下面呈现的 UIViewController 上的 UIViewController 上进行交互
Posted
技术标签:
【中文标题】允许在下面呈现的 UIViewController 上的 UIViewController 上进行交互【英文标题】:Allow interactivity on UIViewController below presented UIViewController 【发布时间】:2014-02-11 19:07:04 【问题描述】:我正在呈现具有UIModalPresentationCustom
呈现风格的UIViewController
,并且呈现的UIViewController
将其主视图的backgroundColor
设置为clearColor
。我需要允许与下面的UIViewController
进行交互。这可能吗?
我这样做的原因是我有一张地图需要始终位于呈现的UINavigationController
下方,并且我需要允许与它进行交互。呈现的视图可能具有在其上方滚动的内容,那时我希望停止交互(默认情况下应该停止)。
【问题讨论】:
这是不可能的,因为这会导致太多的不连贯性。 :) 考虑其他一些接口。 (我记得当我第一次尝试您描述的界面时,我担心可能与“后面”视图控制器的视图交互会,当事实证明这不是案例。) 是的,我开始同意了。太多的事情需要注意。我们设计了另一种方法来解决这个问题!干杯。 【参考方案1】:你也许可以通过弄乱 hitTest 来做这样的事情,尽管我不会依赖它。
似乎带有“passthroughViews”的弹出窗口可能更好地满足您的目的。如果你不能处理箭头,你总是可以设置一个自定义的 UIPopoverBackgroundView。
【讨论】:
谢谢,我也考虑过弹出框,但我们确实需要它才能成为 UINavigationController 的外观。 您可以在弹出窗口中使用 UINavigationController,但我理解您的痛苦。也许只是使用视图控制器包含而不是展示。以上是关于允许在下面呈现的 UIViewController 上的 UIViewController 上进行交互的主要内容,如果未能解决你的问题,请参考以下文章