Ich habe überall gesucht und bisher hat nichts für mich funktioniert.
Grundsätzlich möchte ich eine .xib-Datei namens rootView.xib und darin eine UIView (nennen wir sie containerView) haben, die nur die Hälfte des Bildschirms einnimmt (es würde also die reguläre Ansicht und eine neue Ansicht geben). Dann möchte ich eine andere .xib-Datei namens firstView.xib und lade sie in containerView. Ich kann also eine Menge Sachen auf firstView.xib und eine Menge verschiedener Sachen in rootView.xib haben und meine firstView.xib in containerView in rootView.xib laden, aber da es nur die Hälfte des Bildschirms einnimmt, würde man das immer noch sehen Sachen auf rootView.xib
ios
objective-c
uiview
xib
Matt
quelle
quelle
Antworten:
Um ein Objekt programmgesteuert aus einer xib-Datei abzurufen, können Sie Folgendes verwenden: Gibt
[[NSBundle mainBundle] loadNibNamed:@"MyXibName" owner:self options:nil]
ein Array der Objekte der obersten Ebene in der xib zurück.Sie könnten also so etwas tun:
quelle
thisView.alpha = 0
,thisView.superview
(zeigt nil)Ich habe ein Beispielprojekt auf github erstellt, um eine UIView aus einer .xib-Datei in eine andere .xib-Datei zu laden. Oder Sie können es programmgesteuert tun.
Dies ist gut für kleine Widgets, die Sie für verschiedene UIViewController-Objekte wiederverwenden möchten.
quelle
Du könntest es versuchen:
quelle
[Schnelle Implementierung]
Universelle Methode zum Laden der Ansicht von xib:
Beispiel:
Implementierung:
quelle
let view = Bundle.main.loadNibNamed(name, owner: nil, options: nil)?.first as? T
Erstellen Sie eine XIB-Datei:
Stellen Sie sicher, dass das Kontrollkästchen "Auch XIB-Datei erstellen" aktiviert ist.
Ich würde gerne mit auftreten,
tableview
also habe ich die Unterklasse gewähltUITableViewCell
Sie können als Ihre Anforderung wählen
XIB-Datei nach Ihren Wünschen gestalten (RestaurantTableViewCell.xib)
Wir müssen die Zeilenhöhe erfassen, um die Tabelle für jede Zeilenhöhe festzulegen
Jetzt! müssen sie schnell Datei huck. Ich habe mich versteckt
restaurantPhoto
undrestaurantName
du kannst dich alle verstecken.Fügen Sie nun eine UITableView hinzu
name
Der Name der NIB-Datei, die die Erweiterung .nib nicht enthalten muss.
Eigentümer
Das Objekt, das als Eigentümerobjekt der NIB-Datei zugewiesen werden soll.
options
Ein Wörterbuch mit den Optionen, die beim Öffnen der NIB-Datei verwendet werden sollen.
zuerst, wenn Sie nicht zuerst definieren, dann alle Ansichten erfassen. Sie müssen also eine Ansicht innerhalb dieses Satzes erfassen
frist
.Hier ist Table View Controller Vollständiger Code
bist du fertig :)
quelle
Für schnelle 3 & 4
quelle
Für Swift 4.2
Angenommen , Sie haben eine Klasse mit dem Namen NibView und die zugehörige NIB- Datei lautet NibView.xib
Erstellen Sie eine Instanz der Klasse und fügen Sie Ihrer Ansicht mit Ihrem spezifischen Layout das hinzu, was Sie möchten
quelle