我想放置在下列 佈局三個View:我看不到這個錯誤在這個NSLayoutConstraints
的ImageView:II 爲textLabel:TT TitleLabel:TL 空間:S
SSSSSS- TL-SSSSS
IISSSSTT --------------
SSSSSSSSSSSSSS
我這個當前的代碼如下:
let views = ["imageView": imageView, "titleLabel": titleLabel, "messageLabel": messageLabel] as [String : Any]
var constraints = [NSLayoutConstraint]()
constraints += NSLayoutConstraint.constraints(withVisualFormat: "H:|[imageView]-[titleLabel]|", options: [], metrics: nil, views: views)
constraints += NSLayoutConstraint.constraints(withVisualFormat: "V:|-([email protected])-[titleLabel]-([email protected])-|", options: [], metrics: nil, views: views)
constraints += NSLayoutConstraint.constraints(withVisualFormat: "V:|[imageView]-[messageLabel]-([email protected])-|", options: [], metrics: nil, views: views)
constraints += NSLayoutConstraint.constraints(withVisualFormat: "V:|[imageView]-([email protected])-[titleLabel]-([email protected])-[messageLabel]-([email protected])-|", options: [], metrics: nil, views: views)
imageHeightConstraint = NSLayoutConstraint(item: imageView, attribute: .height, relatedBy: .equal, toItem: imageView, attribute: .height, multiplier: 0, constant: 0)
constraints.append(imageHeightConstraint!)
它的工作...幾乎沒有問題。 我沒有收到我想要的佈局,但我收到了一些可接受的佈局,並帶有一些錯誤。
但控制檯也報告一些事情,讓我令人擔憂:
可能至少在以下列表中的制約因素之一是你不想要一個 。嘗試這一點:(1)看看每個約束,並嘗試找出你不期望的 ; (2)找到添加了不想要的約束或約束並修復它的代碼。 ( 「」, 「」, 「」, 「」)
有人能幫助我嗎? 我對通用的NSLayoutConstraints沒有太多的經驗,特別是在Swift中。
如果你能幫助我獲得希望的佈局或修復控制檯想要修復的東西,那將是非常棒的。
非常感謝!
創建手動約束是痛苦的。你是否嘗試過使用pod,如[Cartography](https://github.com/robb/Cartography)? – Macabeus
還沒有。我可以使用它,但我會先看看其他答案。謝謝! – user3422907