为父控制器添加子控制器

1.添加子控制器的视图

let clsName = "childController"

2.动态获取命名空间(CFBundleExecutable这个键对应的值就是项目名称,也就是命名空间)

let nameSpace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String

3.将字符串转化为类 默认情况下,命名空间就是项目名称,但是命名空间是可以修改的

let cls:AnyClass? = NSClassFromString(nameSpace + "." + clsName)

4.通过类创建对象    将anyClass转换为指定的类型

let viewControllerCls = cls as! UIViewController.Type

5.通过class创建对象

let vc = viewControllerCls.init()

6.添加子控制器

self.addChildViewController(vc)

self.view.addSubview(vc.view)

vc.didMove(toParentViewController:self)

你可能感兴趣的:(为父控制器添加子控制器)