让我们考虑一下容器视图控制器的简单示例:
class ContainerViewController: UIViewController {
@IBOutlet weak var contentView: UIView!
override func show(_ vc: UIViewController, sender: Any?) {
contentViewController = vc
}
private var contentViewController: UIViewController? {
didSet {
if let oldValue = oldValue {
oldValue.willMove(toParent: nil)
oldValue.view.removeFromSuperview()
oldValue.removeFromParent()
}
if let contentViewController = contentViewController {
addChild(contentViewController)
contentViewController.view.frame = contentView.bounds
contentViewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
contentView.addSubview(contentViewController.view)
contentViewController.didMove(toParent: self)
}
}
}
}
我可以在其上使用show
segue,它可以正常工作。现在,我想在其中包含一些动画和过渡效果。是否有一些首选的方法来实现此目的,而不仅仅是处理触摸手势并使用UIView.animate
?我的意思是类似用UINavigationController实现UIViewControllerTransitionCoordinator
时的情况。可以以某种方式将其包含在我的自定义容器vc中吗?