[英]How to reload item's view controller in tab bar on click of reload/reset button in Swift
[英]how to call tab bar view controller by click button function in swift
我有一個common tab bar view controller
。我已經將3 other view controllers
與navigation bar
連接起來,並將這3個視圖控制器與主tab bar view controller
。所以現在我有3個標簽欄項目和3個視圖控制器。
即1. 1.Home 2. Cart 3. feedback
這可以 !!
現在,我的first view controller
(即我的第一個tab bar view controller
)具有一些table view data
並帶有detail view controller
。在我的detail view controller
我有一個名為“ Go to cart
”的按鈕。
所以實際的流程是當用戶按下Go to cart
,它必須移動到Go to cart
視圖控制器。
但是問題是。我看不到我的標簽欄項目和其他項目。但是,如果我正常瀏覽每個標簽欄項目,它會顯示所有標簽欄項目。
當我從“詳細信息”視圖按鈕轉到“ Cart
標簽欄視圖控制器時。然后沒有任何標簽欄項顯示。
我像演示原型一樣完成了所有操作,就像我從按鈕拖到購物車標簽欄視圖控制器導航欄一樣。
但是它沒有顯示標簽欄為什么。請幫幫我。我沒有任何單一的解決方案來解決這個問題。我使用的是Swift 2.2。
謝謝。
更新 :
所以我需要編寫類似Right ?.的代碼,但是我不知道如何處理此代碼:
let barViewControllers = sender.destinationViewController as! UITabBarController
let nav = barViewControllers.viewControllers![1] as! UINavigationController
let destinationViewController = nav.topViewController as! CartVC
但我在第一行崩潰:
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
請幫幫我
這是與您相似的情節提要。
現在,從“轉到購物車”按鈕中刪除segue,這類似於我的故事板中的“顯示第二個標簽”按鈕
相反,請對其采取以下措施,
@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
}
您可以在secondVC(CartVC)的viewDidLoad中打印和檢查值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.