iOS benutzerdefinierte Ansichten in xib-Dateien
Ich in der Regel erstellen Sie eigene benutzerdefinierte Ansichten programmatisch und Sie soll initialisiert werden programmatisch als auch mit custom init-Methoden (z.B. initWithFrame:SomeParam:OtherParam). Ist es möglich, eine solche benutzerdefinierte Ansichten in Kombination mit einer xib-Datei? Das heißt, dass ein Elternteil xib-Datei, die verschiedene dieser benutzerdefinierten Ansichten, wie Untersichten, in denen diese Untersichten verwenden müssen, um ein anderes init-Methode?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie das hinzufügen von benutzerdefinierten Ansichten in einer xib-Datei, die Sie nicht verwenden können, eine benutzerdefinierte Initialisierung. Sie werden alle initialisiert
initWithCoder
.Normalerweise würde Sie eine set-up in eine übliche Methode, um von dort aus aufgerufen, oder in
awakeFromNib
.Wenn Sie benötigen, um alle benutzerdefinierten Eigenschaften, die auf Ihre anzeigen, die sowohl von außen, tun Sie es in
viewDidLoad
Ihres view-Controllers.Holen Sie sich die view xib initialisiert die regelmäßige Art und Weise und mit der Referenz machen Sie die benutzerdefinierten Einstellungen. dieser Teil kann in der init-Methode wie diese-
der Punkt ist, wenn wir eine xib wir nicht explizit initialisieren, die
xib
utility-Funktionen geben ein initialisiertes Objekt (UIView
), nach bekommt man dieUIView
Objekt, er/Sie kann das initialisierte Objekt wie ein normales Objekt, um weitere benutzerdefinierte änderungen.natürlich ist es möglich. ziehen Sie einen uiview in der xib-nicht in der Standard-Ansicht. dann machen Sie eine
IBOutlet UIView *myCustomView;
und dann verbinden Sie es mit der anderen Ansicht. wenn u wollen, um zu zeigen, in dieser Ansicht fügen Sie diese als[self.view addSubview:myCustomView];
wenn Sie möchten, um es zu entfernen[myCustomView removeFromSuperView];
Den UINib (iOS) und NSNib (OS X) - Klassen bieten eine bessere Leistung in Situationen, in denen Sie möchten, erstellen Sie mehrere Kopien einer nib-Datei Inhalt. Die normal-Feder-loading beinhaltet das Lesen der nib-Datei von der Festplatte und dann die Instanziierung der Objekte, die es enthält. Jedoch, mit der UINib und NSNib Klassen, die nib-Datei vom Datenträger gelesen wird, sobald der Inhalt der im Speicher gespeichert. Weil Sie sich im Speicher befinden, erstellen von aufeinander folgenden Gruppen von Objekten benötigt weniger Zeit, da Sie nicht verlangen, Zugriff auf die Festplatte.
Nächsten Add-Methode, um Sie übergeordneten Komponente
Nächsten Zeile code zu instanziieren, die Sie anzeigen, mit Feder wiederverwendbare Objekt: