0

我创建了一个自定义UIPresentationController子类来处理UIViewController. 这按预期工作,但是当我尝试从不覆盖整个屏幕的子视图控制器中呈现此视图控制器时遇到问题。预期的行为是视图会以模态方式显示在其呈现的子视图控制器的边界内,但模态视图会从根视图控制器全屏呈现。

视图控制器如下所示:

let vc = CustomViewController()
vc.transitioningDelegate = customTransitioningDelegate
vc.modalPresentationStyle = .custom
present(vc, animated: true, completion: nil)

在内部看来,iOS 正在查看视图堆栈并在设置definesPresentationContext为 true 的视图控制器上进行设置。如果我将子视图控制器设置definesPresentationContext为 true,这似乎没有效果。始终选择根视图控制器。

如果我将我modalPresentationStyleoverCurrentContext模式设置为确实仅限于子视图控制器边界,但是我的自定义过渡委托动画不会被使用。

我觉得这里一定有一些简单的东西我想念?

4

0 回答 0