2017-06-30 2 views
3

4つのボタンを含むスタックビューが1つあります。また、各ボタンにはサブビューが追加されています。その4つのボタンのサブビュー、私はそれに制約を追加するプログラムをしようとします。いくつかの制約は、として.Leading.Top.Bottomが、私はエラー制約およびスタックビューの問題で、それに追加することはできません.Trailing。その制約をスタックビューのサブビューに追加する方法。サンプルがあれば本当にいいです事前に感謝してくださいスタックビュー内のビューの制約を追加する方法

+0

はこちらをご覧ください:https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/LayoutUsingStackViews.html –

答えて

2

UIStackViewの力は、制限の使用を減らすことです。軸、分布、配置、スペーシングなどの設定情報を与えるだけです。スタックビューはサブビューアイテムを自動的にレイアウトします。スタックビューのサイズは 'サブビュー' intrinsicContentSizeに基づいているため、オーバーライドするために余分な制約によってサブビューのサイズを設定できます。

stackViewのサブビューに制約を追加することは、UIViewの他のアイテムと同じです。 ではなく、であり、競合制約の追加には注意が必要です。このコードのデモが役立ちます

希望:

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 
関連する問題