How to add constraints programmatically using Swift

前端 未结 17 1426
逝去的感伤
逝去的感伤 2020-11-21 23:07

I\'m trying to figure this out since last week without going any step further. Ok, so I need to apply some constraints programmatically

17条回答
  •  我在风中等你
    2020-11-21 23:39

    it is a little different in xcode 7.3.1. this is what i come up with

       // creating the view
            let newView = UIView()
            newView.backgroundColor = UIColor.redColor()
            newView.translatesAutoresizingMaskIntoConstraints = false
            view.addSubview(newView)
    
            // creating the constraint 
    
            // attribute and relation cannot be set directyl you need to create a cariable of them
            let layout11 = NSLayoutAttribute.CenterX
            let layout21 = NSLayoutRelation.Equal
            let layout31 = NSLayoutAttribute.CenterY
            let layout41 = NSLayoutAttribute.Width
            let layout51 = NSLayoutAttribute.Height
            let layout61 = NSLayoutAttribute.NotAnAttribute
    
            // defining all the constraint
            let horizontalConstraint = NSLayoutConstraint(item: newView, attribute: layout11, relatedBy: layout21, toItem: view, attribute: layout11, multiplier: 1, constant: 0)
            let verticalConstraint = NSLayoutConstraint(item: newView, attribute: layout31, relatedBy: layout21, toItem: view, attribute: layout31, multiplier: 1, constant: 0)
            let widthConstraint = NSLayoutConstraint(item: newView, attribute: layout41, relatedBy: layout21, toItem: nil, attribute: layout61, multiplier: 1, constant: 100)
            let heightConstraint = NSLayoutConstraint(item: newView, attribute: layout51, relatedBy: layout21, toItem: nil, attribute: layout61, multiplier: 1, constant: 100)
    
            // adding all the constraint
            NSLayoutConstraint.activateConstraints([horizontalConstraint,verticalConstraint,widthConstraint,heightConstraint])
    

提交回复
热议问题