2016-06-03 11 views
6

Ich habe zwei Eingabefelder in meiner Ansicht, loginEmailInput und loginPasswordInput.Swift-Fehler: Konnte keinen Wert des Typs UIColor dem Typ CGColor zuweisen

Ich versuche, die Rahmenfarbe zu ändern. Mein Code in ViewController.swift sieht so aus:

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.... 

jedoch diese beiden Linien zeigen einen Fehler:

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

Der Fehler ist:

Can't assign value of type UIColor to type CGColor

Wie löse ich dieses Problem?

+5

'layer.borderColor = borderColor.CGColor'? Sie benötigen auch nicht die explizite Typ Anmerkung auf Ihrem 'UIColor'. Was noch wichtiger ist, müssen diese zwei Linien, die die Rahmenfarbe festlegen, in einer Methode sein, die nicht nur in der Klasse schwebt. – Hamish

Antwort

32

Für CALayer Verwenden

UIColor.blueColor().CGColor (example) 

Im Allgemeinen Schichten/CALayers Verwendung CG (Core Grafik) Farben. Während für etwas wie Hintergrund der Ansicht können Sie etwas wie view.backgroundColor = UIColor.blueColor() verwenden. UIColor Teil UIKit FrameWork (NSObject) ist, CG ist ein Teil der Core-Grafik (CF/Core Foundation Library)

Für eine Schicht, tun Sie

UIColor.blueColor().CGColor 

Für Swift 3:

UIColor.blue.cgColor 
+1

Ein paar Nitpicks - es ist häufiger pluralized "Core Graphics", und "CF" ist eigentlich das Präfix für Klassen aus der Core _Foundation_ Bibliothek. –

+0

@CraigOtis absolut, ich habe meine Antwort aktualisiert, lassen Sie mich jetzt, wenn Sie weitere Vorschläge haben –

+9

Swift 3: UIColor.black.cgColor – Franck

Verwandte Themen