ストーリーボードを使わないIOS開発(AutoLayout)
例えば、ボタンにオートレイアウトを設定する場合。
var uiButton: UIButton() uiButton.translatesAutoresizingMaskIntoConstraints = false // ボタンの上端は、親ビュー上端から0ptの位置 uiButton.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 0).isActive = true // ボタンの下端は、親ビュー下端から0ptの位置 uiButton.bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: 0).isActive = true // ボタンの左端は、親ビュー左端から0ptの位置 uiButton.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 0).isActive = true // ボタンの右端は、親ビュー右端から0ptの位置 uiButton.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: 0).isActive = true // ボタンの幅は、親ビュー幅の1/2 uiButton.widthAnchor.constraint(equalTo: self.view.widthAnchor, multiplier: 0.5).isActive = true // ボタンの高さは、親ビュー高さの1/4 uiButton.heightAnchor.constraint(equalTo: self.view.heightAnchor, multiplier: 0.25).isActive = true // ボタンの高さは、親ビュー高さの1/4 + 10pt uiButton.heightAnchor.constraint(equalTo: self.view.heightAnchor, multiplier: 0.25, constant: 10.0).isActive = true // ボタンの高さは、親ビュー高さと同じ uiButton.heightAnchor.constraint(equalTo: self.view.heightAnchor).isActive = true // ボタンの高さを48ptにする uiButton.heightAnchor.constraint(equalToConstant: 48).isActive = true // ボタンの位置を、親ビューの横中央に合わせる uiButton.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true // ボタンの位置を、親ビューの縦中央に合わせる uiButton.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true // priorityを設定する let uiViewAnchor = uiView.heightAnchor.constraint(equalTo: self.view.heightAnchor) uiViewAnchor.priority = UILayoutPriority(rawValue: 250) uiViewAnchor.isActive = true
UIViewの高さを可変にする方法
UIViewの中に、可変のUILabelがある場合
// uiviewに最小高さを設定 uiView.heightAnchor.constraint(greaterThanOrEqualToConstant: 100).isActive = true // uilabelにbottom成約を追加 uiLabel.bottomAnchor.constraint(equalTo: uiView.bottomAnchor, constant: -48).isActive = true