この投稿と同様の問題があります(UIButton:グラデーションレイヤーの追加とタイトルが表示されなくなりました-修正方法は?)が、彼の解決策はうまくいきませんでした。まず最初に、私はMonoTouchに少し慣れていませんが、すぐに使用できるコントロールをカスタマイズすることはできません。
ボタンにグラデーションを追加しようとしていますが、追加すると、グラデーションは希望どおりに表示されますが、テキストはカバーされます(テストのためにグラデーションの不透明度を.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);