Po raz pierwszy korzystam z storyboardów w systemie iOS 8 i do tej pory uwielbiam aspekt renderowania na żywo w scenorysie. Jednak wydaje mi się, że udało mi się uzyskać poprawne renderowanie moich widoków na scenorysie.Live Render IBOutlet Połączone subviews za pośrednictwem IBInspectable Properties
mam pojemnik UIView
który zawiera połączenia do UILabel
w serii ujęć, ja próbuje ustawić tekst etykiety na podstawie atrybutu IBInspectable
na etykiecie widoku kontenera nadrzędnego.
@IBDesignable class ContainerView : UIView {
@IBOutlet weak var : titleLabel : UILabel!
@IBInspectable var title : String = "" {
didSet {
titleLabel?.text = title
}
}
/* Init functions */
prepareForInterfaceBuilder() {
self.titleLabel?.text = title
}
}
Jeżeli ustawić atrybut w serii ujęć, to czyni zgodnie z oczekiwaniami, podczas gdy program jest wykonywany, ale nie udzieli w serii ujęć, jak bym się spodziewał. Sprawdziłem swoje połączenia i wszystko wydaje się być poprawnie podłączone.
Moje pytanie brzmi: czy można wpływać na zawartość widoku połączonego z IBO za pośrednictwem atrybutów IBInspectable i czy można je wyświetlać na scenorysie, a jeśli tak, to czego mi brakuje lub robię źle?
Wiem, że wszystkie wyloty są zerowe, gdy jest wywoływana funkcja prepareForInterfaceBuilder. Jestem pewien, że jest to duży powód, dla którego renderowanie na żywo nie jest propagowane, ale nie jestem pewien, czy jest gdziekolwiek indziej mogę zadeklarować zachowanie, które chcę, aby to pokazać w Generatorze interfejsów. –