我有一个与这篇文章类似的问题(UIButton: Add gradient layer and title is not displayed – how to fix?)但他的解决方案对我不起作用。首先,我对 MonoTouch 有点陌生,但从来没有定制过开箱即用的控件。
我正在尝试向我的按钮添加渐变,但是当我这样做时,渐变看起来完全符合我的要求,但文本被覆盖(我将渐变的不透明度设置为 0.5 以进行测试)。我有一个故事板,我在其中直观地设计了界面,但想调整一些东西。
这是我的代码:
var gradient = new CAGradientLayer();
gradient.Frame = getStartedButton.Layer.Bounds;
gradient.Colors = new MonoTouch.CoreGraphics.CGColor[]
{
UIColor.FromRGB (23, 55, 94).CGColor,
UIColor.FromRGB (33, 81, 141).CGColor
};
getStartedButton.Layer.AddSublayer(gradient);
getStartedButton.Layer.CornerRadius = 10;
getStartedButton.Layer.BorderColor = UIColor.White.CGColor;
getStartedButton.Layer.BorderWidth = 1;
getStartedButton.VerticalAlignment = UIControlContentVerticalAlignment.Center;
getStartedButton.Font = UIFont.FromName("Helvetica", 12);
getStartedButton.SetTitleColor(UIColor.White, UIControlState.Normal);
getStartedButton.SetTitle("Get Started", UIControlState.Normal);