Fehler beim Festlegen der benutzerdefinierten Eigenschaft "cornerRadius" (UIView)

Details

War ich gerade das video von Sitzung 411 auf der WWDC 2014die sich auf "Was ist neu auf der Interface Builder", und ich versuchte Sie heraus, wie Sie schaffen Rahmenbedingungen, um @IBDesignable Klassen, um eine Vorschau meiner änderungen im Storyboard, ohne die Anwendung auszuführen.

@IBInspectable Eigenschaften werden korrekt angezeigt, wenn ich meine Klasse zu einer bestimmten Ansicht und rendering-Ansicht korrekt mit dem folgenden code:

Code

@IBDesignable
class MyView: UIView {
    @IBInspectable var borderColor: UIColor = UIColor.clearColor() {
        didSet {
            layer.borderColor = borderColor.CGColor
        }
    }

    @IBInspectable var borderWidth: CGFloat = 0 {
        didSet {
            layer.borderWidth = borderWidth
        }
    }

    @IBInspectable var cornerRadius: CGFloat = 0 {
        didSet {
            layer.cornerRadius = cornerRadius
        }
    }

    @IBInspectable var masksToBounds: Bool = false {
        didSet {
            layer.masksToBounds = masksToBounds
        }
    }
}

Log

Bemerkte ich, dass diese Attribute wurden Hinzugefügt, die auf benutzerdefinierte Laufzeit-Attribute (Unter Identity Inspector). Nun was ich erwarte von diesem ist, wenn ich den code ausführen, um zu halten diese änderungen, die ich mit einer bestimmten Ansicht.

Ich die Anwendung ausführen und die Ansicht wird nicht geladen, die benutzerdefinierte Laufzeit-Attributeund gibt diese Fehlermeldung bei der Ausgabe (nicht crash):

Unknown class MyClass in Interface Builder file
Failed to set (cornerRadius) user defined inspected property on (UIView)

Frage

Was verursacht die Anwendung nicht laden benutzerdefinierte Laufzeit-Attributedass ich unter Identity Inspector?

InformationsquelleAutor der Frage EridB | 2014-10-29

Schreibe einen Kommentar