2017-02-11 1 views
0

Ganz einfache Frage: Ich möchte die Deckkraft von UIView ändern und die Schriftart mit alpha = 1.0 darüber halten.Das Ändern des Alphabets von UIView wirkt sich auf die Deckkraft der Schriftart aus

enter image description here

enter image description here

So wie Sie gibt es zwei labeles und unter ihnen zu sehen ist UIView. Ich habe die Opazität der UIView festgelegt (zum Beispiel: @IBOutlet weak var coView: UIView!self.coView.alpha = 0.8). Das Ergebnis ist, dass sowohl UIView als auch die Beschriftungen transparenter sind und ich den Beschriftungstext auf Alpha = 1.0 beibehalten möchte. Ist es möglich, auf Stapelansichten und Einschränkungen zu verzichten?

Antwort

2

Verwenden Super

coView.backgroundColor = UIColor.black.withAlphaComponent(0.8) 

Es ist bleiben ärgerlich und nicht genau das, was Sie wollten, aber es ist ein Weg um es herum. Er legt die Hintergrundfarbe des CoViews mit einem Alpha-Wert fest, der Ihnen effektiv das gibt, was Sie wollen.

+0

Super !!!! Du hast es geschafft –

1

Durch Ändern des Alphas des UIView wird geändert, wie alle Unteransichten des neuen Alphasets angezeigt werden. Es gibt keine Möglichkeit, dies tatsächlich zu vermeiden, aber Sie können dies umgehen, indem Sie einige andere Hilfsansichten verwenden.

Zum Beispiel, in Ihrem UIView pm, könnten Sie eine andere Unteransicht namens backgroundView haben, die auf der Rückseite ist und das ist die, die Sie die Hintergrundfarbe festlegen. Jedes andere Element in Ihrem UIView pm wäre auf dem backgroundView mit einer klaren Hintergrundfarbe.

Wenn Sie nur wollen, um das Alpha der Farbe zu ändern, müssen Sie nur die alpha-Stellung zum backgroundView ändern und die anderen Elemente in UIView pm mit dem gleichen alpha

+0

Das funktioniert wahrscheinlich, aber ich habe ein paar Animationen, so dass zu viele Änderungen vorgenommen werden müssen. Andere Antwort ist ein bisschen besser, aber auch nicht perfekt. – codddeer123

Verwandte Themen