Ecco una breve panoramica per l'aggiunta di un colore di sfondo della vista Stack.
class RevealViewController: UIViewController {
@IBOutlet private weak var rootStackView: UIStackView!
Creazione di una vista di sfondo con angoli arrotondati
private lazy var backgroundView: UIView = {
let view = UIView()
view.backgroundColor = .purple
view.layer.cornerRadius = 10.0
return view
}()
Per farlo apparire come sfondo, lo aggiungiamo all'array delle visualizzazioni secondarie della vista dello stack radice all'indice 0. Ciò lo mette dietro le viste organizzate della vista dello stack.
private func pinBackground(_ view: UIView, to stackView: UIStackView) {
view.translatesAutoresizingMaskIntoConstraints = false
stackView.insertSubview(view, at: 0)
view.pin(to: stackView)
}
Aggiungi vincoli per bloccare la vista di sfondo ai bordi della vista pila, usando una piccola estensione su UIView.
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)
])
}
}
chiama il pinBackground
daviewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
pinBackground(backgroundView, to: rootStackView)
}
Riferimento da: QUI