2016-03-26 20 views
5

アレンジされたサブビューの間にある程度の可変スペースが必要であることを除いて、特定のレイアウトにはUIStackViewが最適です。 UIStackViewはそのspacingプロパティを使用してビューを軸に沿って配置しますが、これらをオーバーライドする手段はありますか?たとえば、必要なギャップを定義するためにビジュアル形式を使用して単一の手動制約を追加し、スタックビューの優先順位を何らかの優先順位をつけないことができれば嬉しいです。UIStackViewのオーバーライド間隔

もちろん、UIStackViewは完全に忘れてしまいますが、スタックの隠れたサブビュー間にスペースを戻す機能は、手動で複製するのはかなり面倒です(たとえば、どのビューが隠れているかに基づいて制約を追加したり削除したりする)。スタックのlayoutMarginsを使ってトップマージンを追加できるように、独自のスタックビューで個々のサブビューをラップしようとしました。しかし、これは、それに含まれているサブビューに加えて、ラッパースタック自身の隠れた状態を管理する必要があります(驚くべきことに私にはUIStackViewarrangedSubviewsはすべて自動的に隠されないので、スペースとマージンは戻されません)。それ自身のスーパービュー)。 iOSの11から

+0

ないきれいいますが、空のビューを作成する「スペース」の配列を追加する拡張機能を使用することができます。http://stackoverflow.com/questions/32999159/how-can-i-create-uistackview-with-variable-spacing-between-views – sdasdadas

答えて

1

を使用することが可能である:

stackView.setCustomSpacing(spacing: CGFloat, after: UIView)