试图在swift UIColor中使用变量

时间:2015-04-28 19:33:23

标签: swift uicolor

尝试使用变量

创建矩形的颜色
import UIKit

class Color: UIView
{
    var colors = ViewController()

    override func drawRect(rect: CGRect)
    {

        let swiftColor = UIColor(red: 1, green: 165/255, blue: 0, alpha: 1);

        let context = UIGraphicsGetCurrentContext()
        CGContextSetLineWidth(context, 5.0)
        CGContextSetStrokeColorWithColor(context,
            UIColor(red: CGFloat(colors.red1), green: CGFloat(colors.green1), blue: CGFloat(colors.blue1), alpha: 1.0))
        let rectangle = CGRectMake(60,170,200,80)
        CGContextAddRect(context, rectangle)
        CGContextStrokePath(context)
        CGContextSetFillColorWithColor(context,
            UIColor(red: CGFloat(colors.red1), green: CGFloat(colors.green1), blue: CGFloat(colors.blue1), alpha: 1.0))
            CGContextFillRect(context, rectangle)
    }
}

收到一条错误消息,指出有一个额外的参数'绿色'在电话中

变量是来自不同类的浮点数,应该可以正常工作

2 个答案:

答案 0 :(得分:0)

CGContextSetStrokeColorWithColor需要CGColor个参数,而非UIColor。来自文档:

func CGContextSetStrokeColorWithColor(c: CGContext!, color: CGColor!)

答案 1 :(得分:0)

                                                                                                         v  // Just delete this extra parenthesis and you will be fine 
UIColor(red: CGFloat(colors.red1), green: CGFloat(colors.green1), blue: CGFloat(colors.blue1), alpha: 1.0))

应该是这样的:

UIColor(red: CGFloat(colors.red1), green: CGFloat(colors.green1), blue: CGFloat(colors.blue1), alpha: 1.0)