アレンジされたサブビューの間にある程度の可変スペースが必要であることを除いて、特定のレイアウトにはUIStackView
が最適です。 UIStackView
はそのspacing
プロパティを使用してビューを軸に沿って配置しますが、これらをオーバーライドする手段はありますか?たとえば、必要なギャップを定義するためにビジュアル形式を使用して単一の手動制約を追加し、スタックビューの優先順位を何らかの優先順位をつけないことができれば嬉しいです。UIStackViewのオーバーライド間隔
もちろん、UIStackView
は完全に忘れてしまいますが、スタックの隠れたサブビュー間にスペースを戻す機能は、手動で複製するのはかなり面倒です(たとえば、どのビューが隠れているかに基づいて制約を追加したり削除したりする)。スタックのlayoutMargins
を使ってトップマージンを追加できるように、独自のスタックビューで個々のサブビューをラップしようとしました。しかし、これは、それに含まれているサブビューに加えて、ラッパースタック自身の隠れた状態を管理する必要があります(驚くべきことに私にはUIStackView
arrangedSubviews
はすべて自動的に隠されないので、スペースとマージンは戻されません)。それ自身のスーパービュー)。 iOSの11から
ないきれいいますが、空のビューを作成する「スペース」の配列を追加する拡張機能を使用することができます。http://stackoverflow.com/questions/32999159/how-can-i-create-uistackview-with-variable-spacing-between-views – sdasdadas