Bag*_*yer 7 core-graphics ios swift
我在Swift代码中尝试绘制渐变时遇到错误:
GradientView.swift:31:40:找不到接受提供的参数的'__conversion'的重载
这是我的代码:
let context: CGContextRef = UIGraphicsGetCurrentContext()
let locations: CGFloat[] = [ 0.0, 0.25, 0.5, 0.75 ]
let colors = [UIColor.redColor().CGColor, UIColor.greenColor().CGColor,UIColor.blueColor().CGColor, UIColor.yellowColor().CGColor]
let colorspace: CGColorSpaceRef = CGColorSpaceCreateDeviceRGB()
let gradient: CGGradientRef = CGGradientCreateWithColors(colorspace, colors, locations)
//CGGradientCreateWithColors(colorspace,colors,locations)
let startPoint: CGPoint = CGPointMake(0, 0)
let endPoint: CGPoint = CGPointMake(500,500)
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
Run Code Online (Sandbox Code Playgroud)
问题是CGGradientCreateWithColors采用CFArray而不是普通的Swift数组.我不知道如何将CFArray转换为Array,并且在Apple的文档中找不到任何内容.任何的想法?谢谢
pai*_*aiv 12
斯威夫特3
let colors = [UIColor.red.cgColor, UIColor.green.cgColor,
UIColor.blue.cgColor, UIColor.yellow.cgColor
] as CFArray
Run Code Online (Sandbox Code Playgroud)
斯威夫特2
您可以使用显式类型CFArray注释常量:
let colors: CFArray = [UIColor.redColor().CGColor, ...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9421 次 |
最近记录: |