Я пытаюсь программно установить фоновый градиент, как это в Xamarin прошивкой:Xamarin - Gradient фон
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);
И это работает, но у меня есть элементы формы на экране (метки, кнопки и т.д.) и это приводит к тому, что все они выглядят бледными, как если бы слой отображался непосредственно сверху элементов. Я думаю, что это то, что делает код - это рендеринг всей страницы, а затем добавление слоя с непрозрачностью поверх экрана (вместо этого я хочу его позади).
Вместо этого я хочу, чтобы фон был установлен как градиент, но любые элементы, которые я добавляю, не будут выцветшими и попробуют сопоставить цвета фона.
Я попытался добавить представление сверху стандартного представления и установить альфа-1 на белый, но это, похоже, не помогло (предлагая мою теорию, что программно она добавляет слой поверх всего после он отображается).
Что я делаю неправильно? Спасибо!
Хмм, так что это не похоже на меня; белый в вашем примере выцветает и соответствует цвету фона. Я даже задал фоном представления, чтобы он был красным, но красный смешивается с градиентом. Также для моих ярлыков я просто хочу, чтобы цвет ярлыка был ярко-белым и не исчезал. Мне не нужен цвет фона на моих ярлыках. Есть предположения? TY! – NullHypothesis
@NullHypothesis «Это» в 'this.View.Layer.AddSublayer' в вашем примере контроллера? – SushiHangover
Да, это правильно. – NullHypothesis