2015-05-18 2 views
1

Какую переменную я должен использовать для UIColor() и Почему этот код не работает? Я пытаюсь использовать переменные, созданные в другом классе, для сумм красного, зеленого и синего. Я сделал переменные одинаковы для всех цветов, но получаю сообщение об ошибке: «дополнительный аргумент зеленый в вызове»Как использовать переменные в 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

Дайте UIColor (красный: CGFloat (colors.red1), зеленый: CGFloat (colors.green1), синий: CGFloat (colors.blue1), альфа: 1,0).) CGColor – Amit89

ответ

2

Попробуйте это.

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).CGColor) 
     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).CGColor) 
      CGContextFillRect(context, rectangle) 
    } 
} 

CGContextSetStrokeColorWithColor ожидает CGColor в качестве параметра, но вы предоставляете UIColor.

+0

, что вы изменили – Steve

+1

UIColor (красный: CGFloat (colors.red1), зеленый: CGFloat (colors.green1), синий: CGFloat (colors.blue1), alpha: 1.0) .CGColor – Amit89

+0

Добавить .CGColor в цвет – Amit89

Смежные вопросы