2

CGGradientLayer を使用して MonoTouch でカスタム UIButton を作成しようとしています。

次のようなオンラインで見つけたいくつかのチュートリアルに従ってください。

http://www.apptite.be/tutorial_custom_uibuttons.php#gradients

これまでのところ何も表示できず、現在は空のボタンのみです。

ViewDidLoad から実行されている私のコードは次のとおりです。

var gradient = new CAGradientLayer();

gradient.Colors = new MonoTouch.CoreGraphics.CGColor[]
{
    new MonoTouch.CoreGraphics.CGColor(115f, 181f, 216f, 1f),
    new MonoTouch.CoreGraphics.CGColor(35f, 101f, 136f, 1f)
};

gradient.Locations = new NSNumber[]
{
    .5f,
    1f
};

gradient.Frame = btnSearch.Layer.Bounds;

btnSearch.Layer.AddSublayer(gradient);

btnSearch.Layer.MasksToBounds = true;

私が見逃したアイデアはありますか?

ありがとうございました :)

4

1 に答える 1

3

CGColor のコンストラクターは、0 から 255 の整数ではなく、0.0f から 1.0f の浮動小数点範囲の RGB 値を受け入れるようです。

別の方法として、UIColors で CGColors を設定してみてください。

gradient.Colors = new MonoTouch.CoreGraphics.CGColor[]
{
    UIColor.FromRGB (115, 181, 216).CGColor,
    UIColor.FromRGB (35, 101, 136).CGColor
};

ところで、素敵な青のグラデーション:)

于 2012-10-19T08:25:30.147 に答える