NSLayoutConstraint in swift

匿名 (未验证) 提交于 2019-12-03 08:33:39

问题:

I am trying to convert the following code to Swift:

leftConstraint = [NSLayoutConstraint constraintWithItem:self.contentView                                               attribute:NSLayoutAttributeLeft                                               relatedBy:0                                                  toItem:self.view                                               attribute:NSLayoutAttributeLeft                                              multiplier:1.0                                                constant:0]; [self.view addConstraint:leftConstraint]; 

Can someone give me the new syntax to do it in Swift?

Thanks a lot

The correct syntax is :

        let leftConstraint = NSLayoutConstraint(item:self.maView,         attribute:NSLayoutAttribute.Left,         relatedBy:NSLayoutRelation.Equal,         toItem:self.view,         attribute:NSLayoutAttribute.Left,         multiplier:1.0,         constant:0);       self.view.addConstraint(leftConstraint); 

回答1:

Copy & paste from the documentation:

convenience init(item view1: AnyObject!,             attribute attr1: NSLayoutAttribute,          relatedBy relation: NSLayoutRelation,                toItem view2: AnyObject!,             attribute attr2: NSLayoutAttribute,       multiplier multiplier: CGFloat,                  constant c: CGFloat) 

So your code translates to

let leftConstraint = NSLayoutConstraint(item: self.contentView,                                     attribute: .Left,                                     relatedBy: .Equal,                                       toItem: self.view,                                    attribute: .Left,                                    multiplier: 1.0,                                      constant: 0.0); self.view.addConstraint(leftConstraint); 


回答2:

Try this:

var leftConstrains:NSLayoutConstraint = NSLayoutConstraint(item: self.contentView, attribute: NSLayoutAttribute.Left, relatedBy: NSLayoutRelation.Equal, toItem: self.contentView, attribute: NSLayoutAttribute.Left, multiplier: 1, constant: 0)  self.contentView.addConstraint(leftConstrains) 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!