3

我有一个用于呈现视图控制器的自定义转换,我使用一个UIPresentationController子类来执行演示。

在演示控制器中,我向其containerView(镀铬)添加了几个子视图。我想用类似的东西来限制其中一个,topLayoutGuide以考虑任何顶部栏的高度(如状态栏)。

但是,UIPresentationController它不是UIViewController子类,因此它没有topLayoutGuide属性。我尝试使用presentingViewController's 和presentedViewController's约束视图,topLayoutGuide但应用程序崩溃,因为它们不是同一视图层次结构的一部分。

那么有没有办法将子视图放置在演示控制器的containerView顶部,同时仍然考虑任何顶部栏的高度?

4

1 回答 1

0

通过反复试验,我发现topLayoutGuide添加的视图控制器视图高度不大于屏幕尺寸高度很重要。在集合UIViewControllerAnimatedTransitioningfunc animateTransition(using transitionContext: UIViewControllerContextTransitioning)

toVC.view.frame = transitionContext.finalFrame(for: toVC)
于 2020-03-18T13:16:24.160 回答