を設定し、しかし、私はあなたがにラベルたいように見える集めることができるものから:
- が画面
- の中心部にある固定幅
- をお持ちの背景色
- をお持ちのそのに合うように拡大コンテンツ垂直
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.backgroundColor = UIColor.greenColor()
label.numberOfLines = 0
label.textAlignment = .Center
label.text = "This is\nsome multiline\nlabel\nwith a background\n colour"
self.view.addSubview(label)
let width = NSLayoutConstraint(item: label, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 50)
let centerX = NSLayoutConstraint(item: label, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0)
let centerY = NSLayoutConstraint(item: label, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: 0)
self.view.addConstraints([width, centerX, centerY])
上記のコードは生成autolayoutを使用している緑色のラベルには、screenshot hereがあります。
numberOfLines = 0
を使用すると、ラベルはその内容に合わせてラベルが拡大できることがわかります。
レイアウトの制約は読んだら、ラベルの幅を50
に設定して、ラベルを追加したビューと同じになるように中央のXとYの拘束を設定します。
これはあなたの後ですか? - そうでなければ、あなたがしようとしていることのモックアップイメージを含むように質問を更新することができます。
出典
2016-11-22 10:34:21
Wez
まだコードを書いていませんか?あなたが試したことを知ることは役に立ちます。 – Wez
申し訳ありません、それを追加しました – MarksCode
ラベルをフレームで初期化していますか? – Wez