苹果 说:
“容器视图控制器使用此方法返回其子视图控制器的大小。UIKit 调用该方法作为视图控制器的 viewWillTransition(to:with:) 方法的默认实现的一部分”
当我第一次启动程序时:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let child = ViewControllerChild()
self.addChildViewController(child)
self.view.addSubview(child.view)
child.view.translatesAutoresizingMaskIntoConstraints = true
child.view.autoresizingMask = [.flexibleBottomMargin, .flexibleRightMargin]
}
override func size(forChildContentContainer container: UIContentContainer, withParentContainerSize parentSize: CGSize) -> CGSize {
return CGSize(width: 100, height: 100)
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
}
我得到完整的父 vc 视图的大小子视图控制器的视图不是 (100, 100)。那么重写它的真正意义是什么,如果我可以通过在(viewdidload 中的第一次加载)然后在preferredContentSizeDidChange 函数中重新定义子vc 视图的框架来响应特征变化?