我有一个用于显示视图控制器的自定义转换,并且我使用一个UIPresentationController子类来执行表示。
在表示控制器中,我向它的containerView (铬)添加了两个子视图。我想用像topLayoutGuide这样的东西来约束他们中的一个,以便考虑任何顶级栏的高度(比如状态栏)。
但是,UIPresentationController不是UIViewController子类,因此它没有topLayoutGuide属性。我试着用presentingViewController和presentedViewController的topLayoutGuide限制视图,但是应用程序崩溃了,因为它们不是视图层次结构的一部分。
那么,有什么方法可以在表示控制器的containerView 中将子视图放置在它的顶部,同时仍然考虑到任何顶级条的高度?
发布于 2020-03-18 13:16:24
通过反复试验,我发现对于topLayoutGuide来说,增加的视图控制器视图高度不大于屏幕大小高度是非常重要的。在UIViewControllerAnimatedTransitioning中,在func animateTransition(using transitionContext: UIViewControllerContextTransitioning)集中:
toVC.view.frame = transitionContext.finalFrame(for: toVC)https://stackoverflow.com/questions/44155163
复制相似问题