在UIPresentationController中等效的topLayoutGuide?

时间:2017-05-24 10:02:13

标签: ios autolayout statusbar uipresentationcontroller uilayoutguide

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

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

但是,UIPresentationController不是UIViewController子类,因此它没有topLayoutGuide属性。我尝试使用presentingViewControllerpresentedViewController&#39; topLayoutGuide约束视图,但应用程序崩溃是因为它们不属于同一视图层次结构。< / p>

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

1 个答案:

答案 0 :(得分:0)

通过反复试验,我发现为了使topLayoutGuide正常工作,重要的是添加的视图控制器的视图高度不大于屏幕尺寸的高度。在UIViewControllerAnimatedTransitioning的{​​{1}}中 设置:

func animateTransition(using transitionContext: UIViewControllerContextTransitioning)