|
//
// UIViewControllerExt.swift
// ExtensionKit
//
// Created by FFIB on 2017/9/13.
// Copyright © 2017年 FFIB. All rights reserved.
//
import UIKit
/// MARK: custom methods extension
public extension UIViewController {
func addFullScreen(childViewController child: UIViewController) {
guard child.parent == nil else { return }
addChild(child)
view.addSubview(child.view)
child.view.frame = view.bounds
if #available(iOS 12, *) {
child.view.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
child.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
child.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
child.view.topAnchor.constraint(equalTo: view.topAnchor),
child.view.bottomAnchor.constraint(equalTo: view.bottomAnchor)
].compactMap {$0})
}
child.didMove(toParent: self)
}
func remove(childViewController child: UIViewController) {
guard child.parent != nil else { return }
child.willMove(toParent: nil)
child.view.removeFromSuperview()
child.removeFromParent()
}
func removeFromParentAndView() {
view.removeFromSuperview()
removeFromParent()
}
}
|