webentwicklung-frage-antwort-db.com.de

Xcode-Registerkartenanwendung - Hinzufügen einer neuen Registerkartenansicht

Ich arbeite mit Xcode 4.2. Ich habe angefangen, mit Tabbed Application zu arbeiten, und jetzt möchte ich das 3. und 4. Tabbed zum Storyboard meiner Anwendung hinzufügen. Wie kann ich es hinzufügen? Ich versuche es zu benutzen, aber ich kann es nicht. :( Ich habe keine guten Tutorials dafür bekommen.

Hat jemand eine Idee, wie das geht?

Ich habe diesen Link durchlaufen, aber ich muss der ersten Ansicht noch 2 weitere Tabbed-Ansichten hinzufügen.

Aktualisieren:

Erstellen Sie einfach Tabbed Application und versuchen Sie, eine oder zwei weitere Tab-Ansichten hinzuzufügen. Ich versuche es immer noch. Aber ich kann nicht.

24
Gayan

Fügen Sie einfach zwei weitere Ansichtssteuerungen zu Ihrem Projekt hinzu, und steuern Sie dann das Ziehen von der Registerkartenleiste auf die Ansichtssteuerungen, um zu ihnen zu wechseln. Stellen Sie sicher, dass Sie "Relationship-viewControllers" auswählen, wenn die Liste angezeigt wird. Tabs werden automatisch hinzugefügt.

Sie müssen zum Menü gehen und auf "Neue Datei" klicken, dann Objective-C-Klasse und schließlich die UIViewController-Unterklasse auswählen. Benennen Sie es und dann werden die .h- und .m-Dateien hinzugefügt. Vergewissern Sie sich in Ihrem Storyboard, dass Sie die Klasse jedes Registers in den Namen Ihrer Datei ändern. Das ist es.

56
Jamie

Für diejenigen, die visuell lernen:

Erstellen Sie ein neues Projekt mit Registerkartenanwendung

 enter image description here

Das gibt Ihnen ein Storyboard wie dieses:

 enter image description here

Neuen View Controller hinzufügen

 enter image description here

Tab-Leistenelement hinzufügen

 enter image description here

Stellen Sie eine Verbindung zum Tab View Controller her

Ziehen Sie bei gedrückter Strg-Taste vom Tab View Controller auf den neuen View Controller, um das Menü aufzurufen.

 enter image description here

Das ist es. Sehen Sie sich das folgende Video für weitere Details an.

26
Suragch

Ich verwende Xcode 4.3.3 und konnte durch folgende Schritte zusätzliche Registerkarten hinzufügen:

  1. Erstellen Sie Anwendungen mit Registerkarten.
  2. Stellen Sie sicher, dass die Dienstprogramme geöffnet sind. Wählen Sie View Controller aus den Objekten und ziehen Sie ihn in das * .storyboard.
  3. Halten Sie die Steuertaste gedrückt. Klicken Sie auf Tab Controller und bewegen Sie den Cursor auf den neuen View Controller, den Sie hinzugefügt haben. Wenn Sie die Maustaste und die Steuertaste loslassen, wird ein Popover mit 4 Optionen angezeigt: - Beziehung - Controller anzeigen, Push, Modal und Benutzerdefiniert.
  4. Wenn Sie die Option Beziehung - Controller anzeigen auswählen, fügt Xcode automatisch eine weitere Registerkarte hinzu und verbindet den Tabulator mit dem von Ihnen hinzugefügten Fenster.

Ab diesem Punkt ist es ziemlich einfach, den Text/die Bilder der Registerkarte zu ändern.

9
Rutvij Kotecha

So fügen Sie einer Standard-iOS-Anwendung mit Registerkarten einen dritten View-Controller programmgesteuert hinzu: 

  1. Gehen Sie zu File -> New -> File, wählen Sie Objective-C-Klasse aus, geben Sie "ThirdViewController" für die Klasse ein, wählen Sie "UIViewController" unter der Unterklasse der Option aus. Aktivieren Sie "Mit XIB für Benutzeroberfläche".

  2. Gehen Sie zur neuen XIB und fügen Sie ein Etikett oder andere Objekte Ihrer Wahl hinzu.

  3. Importieren Sie in AppDelegate.m Ihre neue Klasse, indem Sie den Dateiimporten #import "ThirdViewController.h" hinzufügen.

  4. In AppDelegate.m erstellen Sie in der didFinishLaunchingWithOptions-Methode ein UIViewController-Objekt für die dritte Ansicht (folgen Sie dem Format für die ersten beiden), und fügen Sie den dritten View-Controller den beiden folgenden Zeilen zum Tabbarcontroller hinzu: self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];.

  5. Speichern Sie Ihr Projekt und führen Sie es aus.

Die didFinishLaunchingWithOptions-Methode sollte nach Abschluss so aussehen:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    UIViewController *viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}
6
Kyle Clegg

Nicht das, was Sie gefragt haben, aber wenn Sie eine neue Anwendung erstellen, können Sie alle Ansichts-Controller erstellen, auf die Sie über einen Registerkarten-Controller zugreifen möchten. Wählen Sie dann alle aus, und wählen Sie "Einbetten in ... Registerkarten-Controller" aus 'Editor' Menü.

2
Steve Ives

Was ich verstehe, gebe ich dementsprechend eine Antwort. Es sollte "Tab-Leiste-Controller" geben. Wenn Sie diesen "Tab-Leiste-Controller" extrahieren, werden Sie den Navigations-Controller finden dieser Tab-Leisten-Controller.

0
Play cool

Wenn Sie auf die kleine Kopfleiste klicken, in der Sie die drei Symbole sehen:

 enter image description here

Sie können dann kopieren und einfügen, um nicht nur einen neuen ViewContoller im StoryBoard zu generieren, sondern erfassen Sie das gesamte automatische Layout, das Sie für diesen ursprünglichen ViewController mühsam eingerichtet haben. Dies ist die EINZIGE Möglichkeit, die von mir bekannten Einstellungen für das automatische Layout zu erfassen.

Letztendlich können Sie einige StoryBoard-Vorlagen auf diese Weise erstellen und sie einfach auf der Festplatte sitzen lassen. Ich habe einen "Login-Eintrag" ViewController, den ich zum Beispiel für meine Apps kopieren und einfügen kann.

Und für die neuen Leute bricht InterfaceBuilder viele der Paradigmen der Objektzeichnungs-App und ist in sich inkonsistent. Objekte inside Auf einen View-Controller kann geklickt werden und das Medikament wie erwartet angezeigt werden. haben Polygongriffe zum Ändern der Größe usw. wie erwartet. ViewControllers reagieren nicht auf ein Klicken und Ziehen. Stattdessen müssen Sie auf das Kopfelement klicken, um es zu ziehen.

0
William Cerniuk