Swift中的Container View边界问题

Xix*_* Wu 2 containers constraints ios swift

我正在编写一个可以获取容器视图高度和宽度的函数:

// container view's UIViewController
class SelectionView: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func getBounds -> (CGFloat,CGFloat){
        let x = self.view.bounds.width / 5
        let y = self.view.bounds.height / 15
        return x,y
    }

}
Run Code Online (Sandbox Code Playgroud)

我写了一个按钮来调用这个getBounds()并且它运行良好,但当我把它放在viewDidLoad()函数中时

override func viewDidLoad() {
    super.viewDidLoad()
    getBounds()
}
Run Code Online (Sandbox Code Playgroud)

getBounds()返回不同的高度和宽度,显然不是这个容器视图的界限.

我很确定我已将此类链接到容器视图!

hri*_*.to 8

视图布局未设置viewDidLoad.因此,任何调整大小尚未完成,并且您的大小错误(可能与Storyboard/Xib中声明的相同).

移动getBoundsviewWillLayoutSubviews或者viewWillAppear,它会正常工作.请注意,这些方法不会只调用一次;)