web-dev-qa-db-ja.com

スタックビュー内のビューに制約を追加する方法

4つのボタンを含む1つのスタックビューがあります。そして、各ボタンにサブビューも追加します。その4つのボタンのサブビューでは、制約を追加するようにプログラムを作成します。 。Trailing。Leading。Top。Bottomなどのいくつかの制約は、エラー制約とスタックによって追加できません問題を表示します。 stackviewのサブビューにその制約を追加するためのソリューション。サンプルがあればそれは私にとって本当に良いです。少し早いですがお礼を

7
Leang Socheat

UIStackViewの力は、制約の使用を減らすことです。-軸、分布、配置、間隔などの設定情報を指定するだけです。スタックビューはサブビューアイテムを自動的にレイアウトします。スタックビューのサイズはその「サブビュー」の組み込みコンテンツサイズに基づいているため、オーバーライドする追加の制約によってサブビューのサイズを設定できます。

stackViewのサブビューに制約を追加することは、UIViewの他のアイテムと同じです。 notはStackViewの方法であり、競合制約の追加に注意する必要があります。

このコードデモが役立つことを願っています:

let stackView = UIStackView()
let demoView = UIView()
demoView.backgroundColor = UIColor.red

stackView.addArrangedSubview(demoView)
demoView.translatesAutoresizingMaskIntoConstraints = false

// add your constraints as usual
demoView.widthAnchor.constraint(equalToConstant: 300).isActive = true
demoView.heightAnchor.constraint(equalToConstant: 200).isActive = true
demoView.trailingAnchor.constraint(equalTo: stackView.trailingAnchor).isActive = true
demoView.topAnchor.constraint(equalTo: stackView.topAnchor).isActive = true

view.addSubview(stackView)
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
stackView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
5
vg0x00