title: Programmatically creating constraints bound to view controller margins
body: <p>I'm trying to make a view that will act as a sort of "panel", attached to the right side of the view controller. </p>
  
  <p>That is, it is bound to the trailing, top, and bottom margins of the parent view controller, with a static width of 300</p>
  
  <p>However, I just can't seem to get it right, I'm either breaking a constraint or doing something xcode tells me is illegal. </p>
  
  <p>What am I doing wrong?</p>
  
  <p>Here is the code in the controller</p>
  
  <pre><code>    let myView = UIView()
      view.backgroundColor = UIColor.redColor()
      self.view.addSubview(view)
      let topConstraint = NSLayoutConstraint(item: myView,
                                             attribute: .Top,
                                             relatedBy: .Equal,
                                             toItem: self.topLayoutGuide,
                                             attribute: .Bottom,
                                             multiplier: 1,
                                             constant: 0)
  
      let trailingConstraint = NSLayoutConstraint(item: self.view,
                                                  attribute: .TrailingMargin,
                                                  relatedBy: .Equal,
                                                  toItem: myView,
                                                  attribute: .Trailing,
                                                  multiplier: 1,
                                                  constant: 0)
  
      let bottomConstraint = NSLayoutConstraint(item: self.bottomLayoutGuide,
                                                attribute: .Top,
                                                relatedBy: .Equal,
                                                toItem: myView,
                                                attribute: .Bottom,
                                                multiplier: 1,
                                                constant: 0)
  
      let widthConstraint = NSLayoutConstraint(item: myView,
                                               attribute: .Width,
                                               relatedBy: .Equal,
                                               toItem: nil,
                                               attribute: .NotAnAttribute,
                                               multiplier: 1,
                                               constant: 300)
  
      self.view.addConstraints([trailingConstraint])
      view.addConstraints([topConstraint, bottomConstraint, widthConstraint])
  </code></pre>