Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active April 11, 2018 04:18
Show Gist options
  • Save KentarouKanno/29285df0bdf5b8b21078 to your computer and use it in GitHub Desktop.
Save KentarouKanno/29285df0bdf5b8b21078 to your computer and use it in GitHub Desktop.
UIStackView

UIStackView

★ UIStackViewの初期化

let stackView = UIStackView()

// 追加するView配列を指定してStackViewを初期化する

let view1 = UIView()
let view2 = UIView()
let view3 = UIView()

var stackView = UIStackView(arrangedSubviews: [view1, view2, view3])

★ StackViewにViewを追加する

let view = UIView()

stackView.addArrangedSubview(view)

★ StackView配列の指定indexにViewを挿入する

let view = UIView()

stackView.insertArrangedSubview(view, atIndex: 2)

★ StackViewに追加されているViewの配列を取得する

// 追加した順番に配列に格納されている
var views = stackView.arrangedSubviews

★ StackViewに追加されているView配列から指定のViewを削除する

let view = UIView()

stackView.removeArrangedSubview(view)

★ StackViewの並べる方向を指定する

// StackViewのサブビューを垂直(縦)方向に並べる
stackView.axis = UILayoutConstraintAxis.Vertical

// StackViewのサブビューを水平(横)方向に並べる
stackView.axis = UILayoutConstraintAxis.Horizontal

★ StackViewのサブビューの揃え位置を設定する

// axisがVerticalの場合

// 左揃え
stackView.alignment = UIStackViewAlignment.Leading
// 右揃え
stackView.alignment = UIStackViewAlignment.Trailing
// 真ん中揃え
stackView.alignment = UIStackViewAlignment.Center
// 幅いっぱい
stackView.alignment = UIStackViewAlignment.Fill

// axisがHorizontalの場合

// 上揃え
stackView.alignment = UIStackViewAlignment.Top
// 下揃え
stackView.alignment = UIStackViewAlignment.Bottom
// 真ん中揃え
stackView.alignment = UIStackViewAlignment.Center
// 高さいっぱい
stackView.alignment = UIStackViewAlignment.Fill
// 最初の行のテキストベースライン揃え
stackView.alignment = UIStackViewAlignment.FirstBaseline
// 最後の行のテキストベースライン揃え
stackView.alignment = UIStackViewAlignment.LastBaseline

★ StackViewのサブビューとサブビューの間の距離を設定する

stackView.spacing = 30.0

★ StackViewのサブビューの軸方向のレイアウトを設定する

stackView.distribution = UIStackViewDistribution.Fill
stackView.distribution = UIStackViewDistribution.FillEqually
stackView.distribution = UIStackViewDistribution.FillProportionally
stackView.distribution = UIStackViewDistribution.EqualSpacing
stackView.distribution = UIStackViewDistribution.EqualCentering
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment