objective c - deutsch - Xcode-So verbinden Sie XIB mit der ViewController-Klasse



xcode button referencing outlet (4)

Ich habe zuerst meine TestViewController.h und * .m erstellt. Danach meine TestView.xib.

Jetzt muss ich meinem Xib sagen: "Ja, bitte nehmen Sie die Klasse TestViewController als Besitzer meiner Datei".

Ich öffne mein xib, gehe zum Identitätsinspektor seines fileOwner und wähle unter "Benutzerdefinierte Klasse" TestViewController aus.

Dies scheint jedoch nicht genug zu sein. Wenn ich die TestView.xib öffne und dann die "Assistent Editor View" wähle, sollte der entsprechende ViewController im rechten Teil des geteilten Bildschirms angezeigt werden - in meinem Fall die "TestViewController.h". . Tut es aber nicht

Ist es notwendig, das xib auf irgendeine Weise an seinen Viewcontroller zu binden, indem Sie Linien in Dateien ziehen, wie Sie es mit Outlets und Aktionen tun?

https://src-bin.com


Answer #1

1) Geben Sie den View Controller-Namen in der Klasse des Dateibesitzers an

2) Wählen Sie Dateibesitzer, und ziehen Sie eine Linie von dort aus, um die Verbindung zwischen beiden herzustellen

3) Erstellen Sie eine Instanz des View-Controllers und fügen Sie sie dem Fenster hinzu, in dem das Code-Snippet wie folgt lautet:

MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];

4) Zum Schluss fügen Sie die Ansicht des View-Controllers als Unteransicht zu window hinzu.

[window addSubview:[controller view]];

Versuchen Sie den folgenden Ausschnitt mit appdelegate

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after application launch
    [window makeKeyAndVisible];

    MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
    [window addSubview:[controller view]];
 }

5) Verwenden Sie das folgende Snippet, um die Größe der Ansicht auf das Fenster zu maximieren, sodass kein Spalt entsteht

[controller.view setFrame:[[UIScreen mainScreen] applicationFrame]];

Nun sehen Sie Ihren View-Controller wie erwartet ...

Ich hoffe das hilft....


Answer #2

Erstellen Sie im View-Controller einen "view" -Ausgang (UIView) und markieren Sie ihn als IBOutlet. (Wenn Sie beim Erstellen der Dateien innerhalb von xcode die korrekten Standardwerte / Muster verwenden, sollte diese Eigenschaft bereits vorhanden sein.) Erstellen Sie im Interface Builder eine Verknüpfung zwischen der Hauptansicht und der Ansichtseigenschaft / dem Auslass des View-Controllers / Dateieigners. Nur fürs Ganze: Beim Erstellen / Zuordnen des View-Controllers sollten Sie ihn mit der entsprechenden XIB-Datei initiieren. Dies ist der Moment, in dem das View Controller-Objekt an die View gebunden ist, die aus der XIB-Datei generiert wird.


Answer #3

Ja, Sie müssen die View-Eigenschaft vom Interface-Builder den Dateibesitzern dieses View-Controllers hinzufügen:


Answer #4

Wählen Sie Ihre Datei aus. Gehen Sie zum Identitätsinspektorfenster und ändern Sie den Klassennamen des Dateieigentümers in Ihre View-H-Datei. Dadurch wird eine Verbindung hergestellt.





viewcontroller