重构--添加子控制器的问题

481 阅读1分钟

方式1:

问题:显示正常,view也可以添加到父控制器上,但是看UI结构里面是没有LoginViewController控制器的,也就是说只是将view添加上了。界面的操作也正常,但是会有不能响应代理实现方法的问题;

let loginVC = LoginViewController()
self.addChild(loginVC)
let loginView = LoginViewController().view!
self.view.addSubview(loginView)

方式2:

这个方案相对来说比较好,可以正常显示,也响应代理实现方法,也调用viewWillAppear方法

let loginVC = LoginViewController()
loginVC.view.frame = self.view.bounds;//写也可以不写也可以不影响显示
loginVC.willMove(toParent: self)
self.view.addSubview(loginVC.view)
self.addChild(loginVC)
loginVC.didMove(toParent: self)