TableView Controller mit anderen View verbinden?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • TableView Controller mit anderen View verbinden?

    Hallo,

    Ich bin neu in Objective-C und iOS Entwicklung und deshalb wollte ich euch um einen Rat fragen.

    Mein Problem:
    Ich arbeite an einer app die 4 Tabs enthällt. Das Erste Tab soll eine Tabelle mit 2 Zellen haben und die jeweiligen Zellen sollen mit anderen Views verbunden sein. Wie kann ich den Tab bar controller als RootViewController einstellen so das ich dan den Table view controller als sub view rufen kann? Und soll ich vielleicht die Zellen mit der Methode didSelectRowAtIndexPath mit den anderen View verbinden?


    Hat jemand von euch eine Idee oder irgendwelche Tips, wie ich dieses Problem lösen könnte?


    Vielen Dank,


    Granit
  • Im AppDelegate, brauchst du einen TableViewController oder einen ViewController + TableView, als deinen ersten ViewController der Tabbar.

    In deinem TableViewController in der didSelectRowAtIndexPath-Methode prüfst du den jeweiligen indexPath ab.

    Quellcode

    1. if (indexPath.row == 0)
    2. {
    3. ViewController1 * viewController1 = [[ViewController1 alloc] initWithNibName: @"ViewController1" bundle:nil];
    4. self.navigationController pushViewController: viewController1 animated: YES];
    5. }
    6. else if (indexPath.row == 1)
    7. {
    8. ViewController2 * viewController2 = [[ViewController2 alloc] initWithNibName: @"ViewController1" bundle:nil];
    9. self.navigationController pushViewController: viewController2 animated: YES];
    10. }
    Alles anzeigen
  • Grangjii schrieb:

    Das habe ich schon gemacht, ich benutze Tabbed Application als Vorlage das Problem ist wie ich alles miteineander verbinde

    Was benutzt Du, XIB-Dateien oder ein Storyboard?

    matz schrieb:

    Im AppDelegate, brauchst du einen TableViewController oder einen ViewController + TableView, als deinen ersten ViewController der Tabbar.

    Was hat das App-Delegate damit zu tun?
    „Meine Komplikation hatte eine Komplikation.“
  • Wenn man doch (ohne Storyboard) eine neue App anlegt, mit Tabbed Application Template, macht er doch im App-Delegate die Zuweisungen.

    Quellcode

    1. UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    2. UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    3. self.tabBarController = [[UITabBarController alloc] init];
    4. self.tabBarController.viewControllers = @[viewController1, viewController2];
    5. self.window.rootViewController = self.tabBarController;


    Und nach dem nochmaligen Nachdenken hat es mit dem App-Delegate nichts zu tun ...

    Also muss dein ViewController1 entweder von UITableViewController abgeleitet sein und die tableView-Methoden implementiert sein, oder du fügst einem normalen ViewController selbst ein TableVIew hinzu mit den entsprechenden Methoden.
  • macmoonshine schrieb:

    Grangjii schrieb:

    Das habe ich schon gemacht, ich benutze Tabbed Application als Vorlage das Problem ist wie ich alles miteineander verbinde

    Was benutzt Du, XIB-Dateien oder ein Storyboard?

    matz schrieb:

    Im AppDelegate, brauchst du einen TableViewController oder einen ViewController + TableView, als deinen ersten ViewController der Tabbar.

    Was hat das App-Delegate damit zu tun?

    macmoonshine schrieb:

    Ich benutze ein Storyboard
  • Willst Du die Subviews in der gleichen Tab anzeigen? Dann solltest Du in die erste Tab entweder einen Navigationcontroller ziehen und die Viewcontroller drauf pushen oder Du instantiierst sie über

    Quellcode

    1. id theViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"..."];
    2. [self presentViewController:theViewController animated:YES completion:NULL];
    „Meine Komplikation hatte eine Komplikation.“