Par programmation, la création de contraintes liées à vue-contrôleur les marges

Je suis en train de faire une vue qui va agir comme une sorte de "panneau", attaché à le côté droit de la vue-contrôleur.

Qui est, il est lié à l'arrière, en haut et en bas des marges de la société mère-vue-contrôleur, avec une largeur statique de 300

Cependant, je n'arrive pas à obtenir de droit, je suis en train de briser une contrainte ou de faire quelque chose xcode me dit est illégal.

Ce que je fais mal?

Voici le code du contrôleur

    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])
Pourquoi n'utilisez-vous pas un Format Visuel de la Langue? "H:[panel(300)]| et "V:|[toplayout][panel][botlayout]|" devrait être suffisant.

OriginalL'auteur prawn | 2016-04-08