2016-07-21 4 views
2

ich habe eine common tab bar view controller .und ich habe verbunden 3 other view controllers mit navigation bar und ich verbinde diese 3 ansicht controller mit der haupt tab bar view controller. So jetzt habe ich 3 tab bar artikel mit 3 Controller anzeigen.wie tab tab bar view controller durch klicken taste funktion in swift

die 1.Home 2. Cart 3. feedback

ist Das ist in Ordnung !!

Und jetzt meine first view controller (Das ist meine erste tab bar view controller) haben einige table view data und mit detail view controller .Und in meinem detail view controller Ich habe eine Schaltfläche namens „Go to cart“.

So ist der tatsächliche fließt, wenn der Benutzer drücken Go to cart .Es muss in den Warenkorb verschieben 'Ansicht controller.Now seine Bewegung.

Aber das Problem ist .Ich war nicht in der Lage, meine Tab-Leiste Elemente und andere Elemente zu sehen. Aber wenn ich normal zu jeder Tab-Leiste Elemente seiner zeigt alle Tab-Leiste Elemente.

Wenn ich von meinem Detail-Ansicht-Button gehe, klicke auf meinen Cart Tab-Bar-View-Controller..Dann werden keine Tab-Elemente angezeigt.

Ich tat das alles wie Demo-Prototyp.Wie ich ziehe von Button zu Warenkorb Tab Bar View Controller Navigationsleiste.

Aber es zeigt tab tab bar warum.Please help me out.Ich habe keine einzige Lösung, um dies zu lösen.Ich benutze swift 2.2.

Danke.

enter image description here

Aktualisiert:

Also muss ich wie dieses Recht ein Ding kodieren .Aber ich weiß nicht, wie dieser Code zu handhaben:

let barViewControllers = sender.destinationViewController as! UITabBarController 

    let nav = barViewControllers.viewControllers![1] as! UINavigationController 

    let destinationViewController = nav.topViewController as! CartVC 

Aber ich bin immer Absturz in erster Linie:

fatal error: unexpectedly found nil while unwrapping an Optional value 
(lldb) 

Bitte helfen Sie mir

+0

Wie gehst du vom Detail zum Warenkorb? ... füge Code und Bilder des Storyboards hinzu ... Leute könnten vielleicht helfen.Überprüfen Sie, wie Sie Fragen stellen können http://stackoverflow.com/help/how- to-ask – sanman

+0

@sanman Jetzt bitte überprüfen Sie meine aktualisierte Post.And danke – mack

+0

Ihr Add-in-Einkaufswagen-Segment ist modal präsentiert den Warenkorb viewcontroller anstelle der Tab auf der Registerkarte Controller zu ändern.Aus diesem Grund können Sie unten keine Tableiste sehen. – sanman

Antwort

5

enter image description here

Hier ist Ihr Storyboard ähnlich.

Entfernen Sie nun segue von Button „Warenkorb“, die ähnlich ist Schaltfläche in meinem Storyboard „zweite Reiter zeigen“

Stattdessen Aktion, um es, wie folgt

@IBAction func showSecondTab(sender: AnyObject) { 
      let navController = self.tabBarController?.viewControllers![1] as! UINavigationController 
      ///secondviewcontroller in your case is cart 
      let secondViewController = navController.viewControllers[0] as! SecondViewController 
      //set values you want to pass 
      //lets say I want to pass name to secondVC 
      secondViewController.name = "ABCD" 

      self.tabBarController?.selectedIndex = 1 
    } 

Sie drucken können und Überprüfen Sie die Werte in viewDidLoad von secondVC (CartVC).

+0

Great !! .. Danked – mack

+0

Beste Antwort ... – fozoglu

Verwandte Themen