Ich benutze Storyboards zum ersten Mal in iOS 8 und liebe den Live-Rendering-Aspekt der Dinge auf dem Storyboard. Ich habe jedoch einen Haken gefunden, weil meine Ansichten auf dem Storyboard richtig dargestellt wurden.Live Render IBOutlet Verbundene Subviews über IBInspectable Eigenschaften
Ich habe einen Container UIView
, die eine Verbindung zu einem UILabel
auf dem Storyboard enthält, ich bin versucht, die Beschriftung der Text basiert auf einem IBInspectable
Attribut festlegen auf der übergeordneten Container Ansicht des Labels.
@IBDesignable class ContainerView : UIView {
@IBOutlet weak var : titleLabel : UILabel!
@IBInspectable var title : String = "" {
didSet {
titleLabel?.text = title
}
}
/* Init functions */
prepareForInterfaceBuilder() {
self.titleLabel?.text = title
}
}
Wenn ich setzen Sie das Attribut im Storyboard als erwartet macht, während das Programm ausgeführt wird, aber nicht in dem Storyboard zu machen, wie ich erwarten würde. Ich habe meine Verbindungen überprüft und alles scheint korrekt angeschlossen zu sein.
Meine Frage ist: Ist es möglich, den Inhalt einer IBOutlet verbundenen Ansicht über IBInspectable Attribute zu beeinflussen und sie live auf dem Storyboard rendern zu lassen, und wenn ja, was vermisse ich oder mache ich falsch?
Ich weiß, dass alle Steckdosen sind Null, wenn PrepareForInterfaceBuilder aufgerufen wird. Ich bin mir sicher, dass dies ein wichtiger Grund ist, warum das Live-Rendering nicht fortgeführt wird, aber ich bin mir nicht sicher, ob ich irgendwo anders das gewünschte Verhalten deklarieren kann, damit es im Interface Builder angezeigt wird. –