Can't change default layoutMargins of view

前端 未结 3 654
深忆病人
深忆病人 2021-01-13 09:26

Since ios 8.0 views have additional layoutMargins which by default has an 8 points values for every side.

When I try to change margins in viewDidL

3条回答
  •  终归单人心
    2021-01-13 09:49

    I am not sure what the problem is.

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.layoutMargins = UIEdgeInsets(top:100, left:100, bottom:100, right:100)
        println(self.view.layoutMargins.top)
        println(self.view.layoutMargins.left)
        println(self.view.layoutMargins.right)
        println(self.view.layoutMargins.bottom)
    }
    

    This prints 100 for every margin. If you are trying to set the margins for subviews of that view, you will need to set them explicitly also. The call to self.view.layoutMargins only affects the layoutMargins of self.view.

    If you want your view's subviews to respect the layoutMargins of your view's superview, you will need to set preservesSuperviewLayoutMargins on your view.

    Reference Documentation

提交回复
热议问题