Hier ist eine kurze Übersicht zum Hinzufügen einer Hintergrundfarbe für die Stapelansicht.
class RevealViewController: UIViewController {
@IBOutlet private weak var rootStackView: UIStackView!
Hintergrundansicht mit abgerundeten Ecken erstellen
private lazy var backgroundView: UIView = {
let view = UIView()
view.backgroundColor = .purple
view.layer.cornerRadius = 10.0
return view
}()
Damit es als Hintergrund angezeigt wird, fügen wir es dem Unteransichtsarray der Stammstapelansicht bei Index 0 hinzu. Dadurch wird es hinter die angeordneten Ansichten der Stapelansicht verschoben.
private func pinBackground(_ view: UIView, to stackView: UIStackView) {
view.translatesAutoresizingMaskIntoConstraints = false
stackView.insertSubview(view, at: 0)
view.pin(to: stackView)
}
Fügen Sie mithilfe einer kleinen Erweiterung in UIView Einschränkungen hinzu, um die Hintergrundansicht an den Rändern der Stapelansicht anzuheften.
public extension UIView {
public func pin(to view: UIView) {
NSLayoutConstraint.activate([
leadingAnchor.constraint(equalTo: view.leadingAnchor),
trailingAnchor.constraint(equalTo: view.trailingAnchor),
topAnchor.constraint(equalTo: view.topAnchor),
bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
}
}
Rufen Sie die pinBackground
vonviewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
pinBackground(backgroundView, to: rootStackView)
}
Referenz von: HIER