I want to add container view to the main view (rootViewController.view), but the following gives exception. I know it about the constraints but not able to find out why.
import UIKit
class rootViewController : UIViewController {
    init() {
        super.init(nibName: nil, bundle: nil)
        setupLoginView()
    }
    func setupLoginView() {
        // User ID label
        let userIDLabel:UILabel = UILabel()
        userIDLabel.text = "User ID"
        // Password label
        let passwordLabel:UILabel = UILabel()
        passwordLabel.text = "Password"
        // User ID text
        let userIDText:UITextField = UITextField()
        // Password text
        let passwordText:UITextField = UITextField()
        // Login button
        let loginBtn:UIButton = UIButton()
        loginBtn.setTitle("Login", for: .normal)
        // Container view
        let container:UIView = UIView()
        container.addSubview(userIDLabel)
        container.addSubview(userIDText)
        container.addSubview(passwordLabel)
        container.addSubview(passwordText)
        container.addSubview(loginBtn)
        view.addSubview(container)
        // Add constraints
        let heightConstraint = NSLayoutConstraint(item: container, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 300)
        let widthConstraint = NSLayoutConstraint(item: container, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 200)
        let centerXConstraint = NSLayoutConstraint(item: container, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0)
        let centerYConstraint = NSLayoutConstraint(item: container, attribute: .centerY, relatedBy: .equal, toItem: view, attribute: .centerY, multiplier: 1, constant: 0)
        container.addConstraint(heightConstraint)
        container.addConstraint(widthConstraint)
        container.addConstraint(centerXConstraint)
        container.addConstraint(centerYConstraint)
    }
}
Gives the following exception, with hint "Does the constraint reference something from outside the subtree of the view? That's illegal"
'NSGenericException', reason: 'Unable to install constraint on view. Does the constraint reference something from outside the subtree of the view? That's illegal. constraint: NSLayoutConstraint:0x170089830 UIView:0x12de138c0.centerX == UIView:0x12de0e650.centerX (active)>
 
     
     
     
     
    