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

Ben*_*Ben 17 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....
Run Code Online (Sandbox Code Playgroud)

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

loginEmailInput.layer.borderColor = borderColor
loginPasswordInput.layer.borderColor = borderColor
Run Code Online (Sandbox Code Playgroud)

错误是:

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

我该如何解决这个问题?

Aks*_*kur 54

对于CALayer使用

UIColor.blue.cgColor
Run Code Online (Sandbox Code Playgroud)

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

对于一个图层,你可以

UIColor.blueColor().CGColor
Run Code Online (Sandbox Code Playgroud)

  • Swift 3:UIColor.black.cgColor (9认同)
  • Swift 3,具有自定义颜色: UIColor(red:255/255, green: 144/255, blue: 0/255, alpha: 1).cgColor (2认同)