Skip to content

Instantly share code, notes, and snippets.

@ufukhawk
Created May 30, 2019 17:27
Show Gist options
  • Save ufukhawk/752260b2fceeb8f75b8f898b9876c0fc to your computer and use it in GitHub Desktop.
Save ufukhawk/752260b2fceeb8f75b8f898b9876c0fc to your computer and use it in GitHub Desktop.
using CoreAnimation;
using CoreGraphics;
using GadientColorDemo.CustomControls;
using GadientColorDemo.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(GradientColorStack), typeof(GradientColorStackRenderer))]
namespace GadientColorDemo.iOS {
public class GradientColorStackRenderer: VisualElementRenderer <StackLayout> {
public override void Draw(CGRect rect) {
base.Draw(rect);
GradientColorStack stack = (GradientColorStack)this.Element;
CGColor startColor = stack.StartColor.ToCGColor();
CGColor endColor = stack.EndColor.ToCGColor();
#region for Vertical Gradient
//var gradientLayer = new CAGradientLayer();
# endregion
# region for Horizontal Gradient
var gradientLayer = new CAGradientLayer() {
StartPoint = new CGPoint(0, 0.5),
EndPoint = new CGPoint(1, 0.5)
};
#endregion
gradientLayer.Frame = rect;
gradientLayer.Colors = new CGColor[] {
startColor,
endColor
};
NativeView.Layer.InsertSublayer(gradientLayer, 0);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment