簡體   English   中英

swift 2無法轉換“ [NSLayoutConstraint]”類型的值錯誤

[英]Cannot convert value of type '[NSLayoutConstraint]' error in swift 2

我想通過添加以下代碼行來向UIImageView添加約束:

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

但是xcode向我顯示此錯誤:

在此處輸入圖片說明

如何解決此錯誤?

使用addConstraints而不是addConstraint constraintsWithVisualFormat返回一個數組。

您的代碼變為:

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

如果單擊選項並將鼠標懸停在horizontalprofileViewConstraint您將看到其類型為[NSLayoutConstraint] ,它已經是一個數組。

因此,您可以做的是:

view.addConstraints(horizontalprofileViewConstraint)

如果您有多個視圖,則可以執行以下操作:

view.addConstraints(horizontalprofileViewConstraint + verticalprofileViewConstraint)

+將為您加入數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM