Wie ändere ich die Hintergrundfarbe von UIStackView?
Habe ich versucht zu ändern UIStackView
hintergrund von klar bis weiß in der Storyboard-Inspektor, aber bei der Simulation, die Hintergrundfarbe der stack-Ansicht hat noch eine klare Farbe.
Wie kann ich den hintergrund ändern, die Farbe des UIStackView
?
InformationsquelleAutor der Frage Chaz | 2016-01-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verweis aus HIER.
InformationsquelleAutor der Antwort Dharmesh Kheni
Ich es so machen:
Funktioniert wie ein Charme
InformationsquelleAutor der Antwort Arbitur
UIStackView
ist eine non-rendering-element, und als solches, wird es nicht auf dem Bildschirm gezeichnet. Dies bedeutet, dass eine änderungbackgroundColor
im Grunde nichts. Wenn Sie wollen, um die Hintergrundfarbe zu ändern, fügen Sie einfach eineUIView
als Untersicht (nicht angeordnet) wie folgt:InformationsquelleAutor der Antwort Marián Černý
TL;DR: auf Dem offiziellen Weg, dies zu tun ist, indem Sie eine leere Ansicht in stack-Ansicht mit
addSubview:
Methode, und legen Sie die hinzugefügte Ansicht hintergrund statt.Erklärung: UIStackView ist eine spezielle UIView-Unterklasse, die nur das layout, nicht die Zeichnung. So viele von seinen Eigenschaften nicht wie gewohnt arbeiten. Und da UIStackView wird das layout seinen angeordnet sind Untersichten nur, das bedeutet, dass Sie können einfach fügen Sie es ein UIView mit
addSubview:
Methode, seine Einschränkungen und Hintergrundfarbe. Dies ist der offizielle Weg, das zu erreichen, was Sie wollen zitiert aus der WWDC-sessionInformationsquelleAutor der Antwort Pitiphong Phongpattranont
Vielleicht die einfachste, besser lesbar und weniger hacky Weg wäre zum einbetten der
UIStackView
in eineUIView
und legen Sie die Hintergrundfarbe der Ansicht.Und vergessen Sie nicht, um richtig konfigurieren Sie die Auto-Layout-constraints zwischen diesen beiden Ansichten... 😉
InformationsquelleAutor der Antwort MonsieurDart
Pitiphong korrekt ist, erhalten Sie eine stackview mit einer Hintergrundfarbe etwas wie die folgende...
Dadurch erhalten Sie eine stackview, deren Inhalt platziert auf einem roten hintergrund.
Hinzufügen Polsterung an den stackview so die Inhalte sind nicht bündig mit den Kanten, fügen Sie den folgenden code oder auf dem storyboard...
InformationsquelleAutor der Antwort Michael Long
In iOS10, @Arbitur Antwort braucht eine setNeedsLayout nach Farbe gesetzt. Dies ist die Veränderung, die benötigt wird:
InformationsquelleAutor der Antwort BruceLiu
Dies funktioniert für mich in Swift 3-und iOS-10:
InformationsquelleAutor der Antwort Murray Sagal
Hier ist eine kurze übersicht über die für das hinzufügen eines Stack-Ansicht Hintergrundfarbe.
Erstellen von hintergrund-Ansicht mit abgerundeten Ecken
Erscheinen zu lassen als hintergrund, fügen wir es an den Untersichten array der root-stack-Ansicht mit dem index 0. Damit liegt Sie hinter der arrangierten Blick auf die stack-Ansicht.
Fügen Sie Einschränkungen, um die pin backgroundView, um die Kanten des Stapels anzeigen, der mithilfe einer kleinen Erweiterung auf UIView.
rufen Sie die
pinBackground
ausviewDidLoad
Verweis aus: HIER
InformationsquelleAutor der Antwort kurrodu
InformationsquelleAutor der Antwort Roman Solodyashkin
Xamarin, C# - version:
InformationsquelleAutor der Antwort zuko
Könnte man es so machen:
Indem Sie eine Erweiterung zu überschreiben, die
backgroundColor
:InformationsquelleAutor der Antwort nmdias