web-dev-qa-db-ja.com

タイプ '[NSLayoutConstraint]'エラーの値をSwift 2で変換できません

次のコード行を追加して、UIImageViewに制約を追加します。

addConstraint(NSLayoutConstraint.constraintsWithVisualFormat("H:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": userProfileImageView]))

しかし、xcodeは私にこのエラーを示します:

enter image description here

このエラーを修正するにはどうすればよいですか?

13
Sajad

addConstraintsの代わりにaddConstraintを使用します。 constraintsWithVisualFormatは配列を返します。

コードは次のようになります。

addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[v0]|", options: [], metrics: nil, views: ["v0": userProfileImageView])
36
James P
let horizontalprofileViewConstraint = NSLayoutConstraint.constraintsWithVisualFormat("H:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": userProfileImageView]

オプションをクリックしてhorizontalprofileViewConstraintにカーソルを合わせると、そのタイプはすでに配列である[NSLayoutConstraint]として表示されます。

だからあなたができることは:

view.addConstraints(horizontalprofileViewConstraint)

複数のビューがある場合は、次のことができます。

view.addConstraints(horizontalprofileViewConstraint + verticalprofileViewConstraint)

+は配列に結合します。

2
Honey