我有一个UINavigationController作为子视图控制器显示,它占据了屏幕的一部分。我已经在情节提要中使用了一个简单的嵌入segue来呈现它。

该UINavigationController的rootViewController有一个小的UIView,我想将其扩展到子视图控制器容器的边界之外。

我的层次结构如下所示:

1) Main View
 2) Container Nav Controller
    3) Root View Controller
      4) UIView which should extend past the bounds of 2

我已经在所有包含视图上将clipsToBounds = false设置为无效。

进行一些视图调试会显示2到3之间的UINavigationTransitionView,其中clipsToBounds = false。我很确定这是导致问题的原因(作为企业应用程序,我不介意使用 private API)。

如何允许视图扩展到所有容器之外?

最佳答案

containerView下的包含viewDidLoad()的ViewController中,在为containerView创建出口之后添加以下代码:

let layoutContainerView = self.containerView.subviews.first;
let navigationTransitionView = layoutContainerView?.subviews.first;
navigationTransitionView?.clipsToBounds = false;

这有点怪,基本上navigationControllerview的第一个子视图是UINavigationTransitionView,其中clipsToBounds = true

关于ios - 如何扩展UIView过去包含的UINavigationController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43880796/

10-12 15:42