动画容器视图控制器子级

时间:2018-06-21 10:10:12

标签: ios swift animation uikit

让我们考虑一下容器视图控制器的简单示例:

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中吗?

0 个答案:

没有答案