     }
 
     @available(iOS 9.0, *)
-    public convenience init(_ child: UIViewController, to parent: UIViewController, with frame: CGRect? = nil, in view: UIView, setAutolayoutConstraints strategy: SetAutolayoutConstraints = .pinnedToParent) {
-        self.init(child, to: parent, with: frame, in: view, setAutolayoutConstraints: strategy.block)
+    public convenience init(_ child: UIViewController, to parent: UIViewController, with frame: CGRect? = nil, in subview: UIView? = nil, setAutolayoutConstraints strategy: SetAutolayoutConstraints = .pinnedToParent) {
+        self.init(child, to: parent, with: frame, in: subview, setAutolayoutConstraints: strategy.block)
     }
 }
 

    }

    @available(iOS 9.0, *)
    public convenience init(_ child: UIViewController, to parent: UIViewController, with frame: CGRect? = nil, in view: UIView, setAutolayoutConstraints strategy: SetAutolayoutConstraints = .pinnedToParent) {
        self.init(child, in: parent, with: frame, in: view, setAutolayoutConstraints: strategy.block)
    }
}



internal extension UIViewController {

    func add(child: UIViewController, with frame: CGRect? = nil, in subview: UIView, setAutolayoutConstraints block: @escaping SetAutolayoutConstraintsBlockType) {
        addChildViewController(child)
        child.view.frame = frame ?? CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height)
        view.addSubview(child.view)
