2012-10-17 78 views
2

嘗試在使用CGGradientLayer的MonoTouch中創建自定義UIButton。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; 

任何想法我已經錯過了?

謝謝:)

回答

3

好像CGColor的該構造函數接受0.0F,1.0F浮動範圍,而不是0-255的整數RGB值。

作爲替代方案,試圖通過UIColors設置CGColors:

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

BTW,漂亮的藍色漸變:)

+0

會給它一個去感謝:) – timothyclifford