Swift错误:无法将类型为UIColor的值指定为CGColor类型

时间:2016-06-03 18:05:05

标签: ios swift swift2

我的视图中有两个输入字段loginEmailInputloginPasswordInput

我正在尝试更改边框颜色。 ViewController.swift中的代码如下所示:

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet weak var loginPasswordInput: UITextField!
    @IBOutlet weak var loginEmailInput: UITextField!

    let borderColor : UIColor = UIColor(red:0.39, green:0.76, blue:0.37, alpha:1)
    loginEmailInput.layer.borderColor = borderColor
    loginPasswordInput.layer.borderColor = borderColor

    override func viewDidLoad() {
        super.viewDidLoad()

        //etc....

但是,这两行都显示错误:

loginEmailInput.layer.borderColor = borderColor
loginPasswordInput.layer.borderColor = borderColor

错误是:

  

无法将类型为UIColor的值指定为类型CGColor

如何解决此问题?

3 个答案:

答案 0 :(得分:50)

对于CALayer使用

UIColor.blue.cgColor (example)

通常,图层/ CALayers使用CG(核心图形)颜色。对于类似视图背景的内容,您可以使用类似view.backgroundColor = .blue的内容。 UIColor是UIKit FrameWork(NSObject)的一部分,CG是Core Graphic(CF / Core Foundation Library)的一部分

对于图层,您可以

UIColor.blueColor().CGColor

答案 1 :(得分:1)

imageView.layer.borderColor = UIColor.black.cgColor

答案 2 :(得分:0)

我们可以通过将 UIcolor 转换为 ciColor 来定义颜色。使用以下代码:

imageView.layer.borderColor = UIColor(ciColor: .blue)