[英]NSLayoutConstraint - Two items, one line, spacing priority
給左邊的 label 更高的內容擁抱優先級應該可以解決問題。
// In code
leftLabel.setContentHuggingPriority(.defaultHigh, for: .horizontal)
為了進一步閱讀該主題,我發現這非常有幫助
游樂場示例
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = .white
let leftLabel = UILabel()
leftLabel.text = "I am left"
leftLabel.backgroundColor = .orange
leftLabel.translatesAutoresizingMaskIntoConstraints = false
let rightLabel = UILabel()
rightLabel.text = "I am right"
rightLabel.backgroundColor = .yellow
rightLabel.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(leftLabel)
view.addSubview(rightLabel)
leftLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16).isActive = true
leftLabel.trailingAnchor.constraint(equalTo: rightLabel.leadingAnchor).isActive = true
leftLabel.topAnchor.constraint(equalTo: view.topAnchor, constant: 16).isActive = true
// This is the important part
leftLabel.setContentHuggingPriority(.defaultHigh, for: .horizontal)
rightLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16).isActive = true
rightLabel.topAnchor.constraint(equalTo: leftLabel.topAnchor).isActive = true
self.view = view
}
}
// Present the view controller in the Live View window
PlaygroundPage.current.liveView = MyViewController()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.