throb throb - 1 year ago 489
iOS Question

Gradient Fill in Swift for iOS-Charts

I am trying to create a nice gradient fill as seen in the demos on the ios-charts page. However, I cannot figure this out in swift vs obj-c.
Here is the obj-c code:

NSArray *gradientColors = @[
(id)[ChartColorTemplates colorFromString:@"#00ff0000"].CGColor,
(id)[ChartColorTemplates colorFromString:@"#ffff0000"].CGColor
CGGradientRef gradient = CGGradientCreateWithColors(nil, (CFArrayRef)gradientColors, nil);

set1.fillAlpha = 1.f;
set1.fill = [ChartFill fillWithLinearGradient:gradient angle:90.f];

Now here is my version of that in swift:

let gradColors = [UIColor.cyanColor().CGColor, UIColor.init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)]
let colorLocations:[CGFloat] = [0.0, 1.0]
let gradient = CGGradientCreateWithColors(CGColorSpaceCreateDeviceRGB(), gradColors, colorLocations)

What I am missing is the :
Chart Fill fillWithLinearGradient

I can't find the fillWithLinearGradient in the pod anywhere so I am a bit confused.

Thanks in advance for any help!

Answer Source

Make sure to use the latest version of ios-charts. If you use CocoaPods to install ios-charts change this:

pod 'Charts'

to this

pod 'Charts', '~> 2.2'
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download