尝试使用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;
我错过了哪些想法?
谢谢:)
答案 0 :(得分:3)
似乎CGColor的构造函数接受0.0f-1.0f浮点范围内的RGB值,而不是0-255整数。
作为替代方案,尝试通过UIColors设置CGColors:
gradient.Colors = new MonoTouch.CoreGraphics.CGColor[]
{
UIColor.FromRGB (115, 181, 216).CGColor,
UIColor.FromRGB (35, 101, 136).CGColor
};
BTW,漂亮的蓝色渐变:)