2016-12-02 101 views
0

enter image description here沒有顯示

這裏綱領性導航後退按鈕是我在的appdelegate代碼:

func showMainView() 
    { 
    self.window = UIWindow(frame: UIScreen.main.bounds) 
    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    let secondViewController = storyBoard.instantiateViewController(withIdentifier: "PRODUCT_TABBAR_VC_ID") 
    let nav = UINavigationController() 
    nav.pushViewController(secondViewController, animated: true) 
    self.window!.rootViewController = nav 
    self.window!.makeKeyAndVisible() 
    } 

模擬器輸出:

enter image description here

basicaly我想,當用戶按後退按鈕,然後回來了主頁。我的意思是初始頁面。

我試圖與這一個,但它不工作至少一個答案對我來說Navigate Back to previous view controller

注:@馬特說它IMPOSIBLE。所以你能告訴我,我該怎麼做。我是新來的iOS

更新:

當用戶選擇當時tabviewcontroller第二頁只顯示產品的名單約。所以如果用戶想看女人然後用戶回主頁選擇女人然後他會看到女人 tabviewcontroller兩頁。

回答

0

後退按鈕用於返回推送到UINavigationController的早期視圖控制器。在你的代碼中,沒有後退按鈕,因爲沒有東西可以回來; secondViewController只有視圖控制器推送到UINavigationController。按照AppDelegate.swift

self.window = UIWindow(frame: UIScreen.main.bounds) 
let nav = UINavigationController(rootViewController: FirstViewController()) 
self.window!.rootViewController = nav 
self.window!.makeKeyAndVisible() 

didFinishLaunchingWithOptions

+0

你能告訴我,我該怎麼做。我是新來的iOS –

+0

請給我建議。我能做什麼 –

+0

我不知道你想做什麼。你是主要/初始頁面。沒有什麼可以回去的。整個問題沒有意義。 – matt

0

將與下面創建FirstViewController.swift:

class FirstViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let button1 = UIButton(frame: CGRect(x: 0, y: 0, width: 200, height: 200)) 
     button1.setTitle("Man", for: .normal) 
     button1.tag = 1 
     self.view.addSubview(button1) 
     button1.addTarget(self, action: #selector(showAction(sender:)), for: .touchUpInside) 

     let button2 = UIButton(frame: CGRect(x: 0, y: 250, width: 200, height: 200)) 
     button2.setTitle("Woman", for: .normal) 
     button2.tag = 2 
     self.view.addSubview(button2) 
     button2.addTarget(self, action: #selector(showAction(sender:)), for: .touchUpInside) 

    } 

    func showAction(sender: UIButton) { 
     let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     let secondViewController = storyBoard.instantiateViewController(withIdentifier: "PRODUCT_TABBAR_VC_ID") 
     if (sender.tag == 1) { 
      // SHOW MAN 
     } else if (sender.tag == 2) { 
      // SHOW WOMAN 
     } 
     self.navigationController?.pushViewController(secondViewController, animated: true) 
    } 

} 
+0

感謝您能否檢查我的更新圖片 –

+0

您可以使用FirstViewController進一步工作並在'viewDidLoad'內添加一個按鈕 – AamirR

+0

查看更新回答 – AamirR

0

您應該創建的層次結構如下所示:

                   ----> UIViewController 
----> UINavigationController ----> UIViewController ----> UITabBarController 
                      ----> UIViewController 

編輯:它看起來像這樣:enter image description here

這樣就可以彈出包含在UITabBarController中的UIViewControllers。

+0

謝謝!你能檢查我的更新圖像 –

+0

如果我得到它正確的你想在兩種情況下顯示tabbar:當用戶選擇男人或女人。如果該標籤欄沒有不同(它具有相同類型的數據相同的視圖),那麼您可以自定義其中包含的數據。下面是示例代碼如何可以實現的是: 倍率FUNC製備(對於SEGUE:UIStoryboardSegue,發件人:任何?) { 如果segue.identifier == 「標識符」 { 讓destinationController = segue.destination爲? YourCustomController //完成您的任務 } } – Adamsor