Ich versuche, in Xamarin iOS einen Hintergrund Gradienten wie dies programmatisch festgelegt:Xamarin - Gradient Hintergrund
CGColor[] colors = new CGColor[] { new UIColor(red: 0.05f, green:0.44f, blue:0.73f, alpha:1.0f).CGColor,
new UIColor(red: 45/255, green: 128/255, blue: 153/255, alpha: 0.01f).CGColor};
CAGradientLayer gradientLayer = new CAGradientLayer();
gradientLayer.Frame = this.View.Bounds;
gradientLayer.Colors = colors;
this.View.Layer.AddSublayer(gradientLayer);
Und es funktioniert, aber ich habe Formularelemente auf dem Bildschirm (Labels, Buttons, etc.) und dies bewirkt, dass alle von ihnen verblasst erscheinen, als ob die Ebene direkt oben der Elemente erscheint. Ich denke, das ist, was der Code tut - es macht die gesamte Seite rendern und dann die Ebene mit Deckkraft oben auf dem Bildschirm hinzufügen (ich will es stattdessen dahinter).
Was ich stattdessen möchte, ist, dass der Hintergrund als Farbverlauf eingestellt wird, aber alle Elemente, die ich hinzufüge, werden nicht verblasst und versuchen, die Hintergrundfarben anzupassen.
Ich habe versucht, eine Ansicht über der Standardansicht hinzuzufügen, und das Alpha auf 1, Hintergrund auf weiß, aber das schien nicht zu helfen (meine Theorie, dass es programmatisch eine Ebene über alles nachher hinzufügen es ist gerendert).
Was mache ich falsch? Danke!
hmm, das scheint mir nicht der Fall zu sein; Das Weiß in Ihrem Beispiel wird ausgeblendet und entspricht der Hintergrundfarbe. Ich habe sogar den Hintergrund einer Ansicht auf Rot gesetzt, aber das Rot verschmilzt mit dem Farbverlauf. Auch für meine Labels möchte ich nur, dass die Label-Farbe hell weiß ist und nicht verblasst. Ich möchte keine Hintergrundfarbe auf meinen Etiketten. Irgendwelche Gedanken? TY! – NullHypothesis
@NullHypothesis Ist 'this' in' this.View.Layer.AddSublayer' in Ihrem Beispiel der View-Controller? – SushiHangover
Ja ist es, das ist richtig. – NullHypothesis