iOS Swift Constraint programatically 1

Constraint

Constraint is useful to arrange UI correctly.
In Storyboard or nib(xib), we can see parameters in tool. We can understand easily(visible)
By code, it is difficult to understand immediately, but it can.

Example

This is an example to add view to top layer(Window).

let mainWindow : UIWindow = UIApplication.sharedApplication().keyWindow!

let topView : UIView = UIView()
topView.backgroundColor = UIColor.orangeColor()

mainWindow.addSubview(topView)
topView.translatesAutoresizingMaskIntoConstraints = false
let singleTap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("tapView"))
topView.addGestureRecognizer(singleTap)
        
let dic : [String : AnyObject] = ["topView": topView]
let height: NSLayoutConstraint = NSLayoutConstraint(item: topView, attribute: NSLayoutAttribute.Height, relatedBy: .Equal, toItem: nil, attribute: NSLayoutAttribute.Height, multiplier: 1, constant: 80)

mainWindow.addConstraint(height)  // Add constaints
        
let c: NSLayoutConstraint = NSLayoutConstraint(item: topView, attribute: .CenterY, relatedBy: .Equal, toItem: mainWindow, attribute: .CenterY, multiplier: 1, constant: 0)
mainWindow.addConstraint(c)
        
let verticalConstraint = NSLayoutConstraint.constraintsWithVisualFormat("H:|-10-[topView]-10-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: dic)
mainWindow.addConstraints(verticalConstraint)
mainWindow.layoutIfNeeded()

Constraints should be added to parent view.