Wie man wiederverwendbare UIView mit der XIB-Datei für einfaches Design erstellt

Benutzerdefinierte UIView Unterklassen sind ein großer Produktivitätsgewinn. Man kann sie einmal programmieren und das Ergebnis dann projektübergreifend verwenden. Standardmäßig erlaubt Xcode jedoch nicht, auch eine .XIB-Datei zu erstellen, um sie mit dem Storyboard-Editor zu entwerfen, wie es zum Beispiel bei benutzerdefinierten UITableViewCell der Fall ist.

In diesem kurzen Beitrag zeige ich Ihnen, wie Sie benutzerdefinierte UIView mit einer .XIB-Datei entwerfen können.

Erstellen Sie eine Swift-Klasse

Der erste Schritt ist die Erstellung einer .swift-Datei für Ihre UIView. Etwa so:

import UIKitclass CustomView: UIView {}
Vollbildmodus betreten Vollbildmodus verlassen

Erstellen .XIB-Datei

Dann fügen Sie die neue Datei zu Ihrem Projekt hinzu und wählen unter „User Interface“ die Option „View“:

Verwenden Sie den gleichen Namen wie für Ihre Unterklasse, in diesem Fall CustomView.

Standardmäßig wird die Vorschau als ganzes Gerät angezeigt. Sie können dies jedoch im Größeninspektor ändern. Wählen Sie unter „Simulierte Metriken“ als „Größe“ „Freiform“ und wählen Sie unten z.B. iPhone 8, um die Sicherheitsbereiche von iPhones mit einer Kerbe loszuwerden.

Jetzt können Sie die Größe der Ansicht frei ändern und annähern, wie sie im Gebrauch aussehen wird.

Um die CustomView.xib mit unserer Klasse zu verbinden, wählen Sie die „Ansicht“ in der Dokumentgliederung aus, wechseln in den Identity Inspector und geben als „Klasse“ die „CustomView“ ein.

Das ist alles! Sie können nun Ihre Ansicht entwerfen und @IBOutlets mit der Klasse verbinden.

Verwenden der CustomView

Um eine Instanz der CustomView mit der .xib Datei zu erstellen, fügen Sie diese Methode hinzu:

Sobald Sie einen benutzerdefinierten Initialisierungscode benötigen, können Sie eine setupView Methode erstellen und diese vor der Rückgabe der view aufrufen:

Danke fürs Lesen!

Haben Sie eigene Möglichkeiten, wiederverwendbare Ansichten zu erstellen? Lassen Sie es mich wissen 🙂


Müssen Sie sich auf Ihr iPhone konzentrieren? Holen Sie sich die kostenlose WebBlock-App für die zeitgesteuerte Blockierung von Websites aus dem App Store!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.