0
我想爲我的應用程序做一個模板...可以說我的應用程序加載相同的視圖控制器有一個CollectionView的4選項卡。根據選定的索引,我必須將內容加載到收集視圖中。我從Appdelegate手動設置標籤欄。我的問題是這可能像實例化一次Tabbarcontroller的所有4個選項卡相同viewgentroller。如果是的話,我將如何正確地知道選擇了哪個索引?相同的視圖控制器在選項卡欄控制器的4個選項卡是給出錯誤的選定的選項卡控制器選定的索引
代碼tabBarcontroller中的appdelegate
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let tabBarController = UITabBarController()
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let firstImage = UIImage(named: "image1")
let secondImage = UIImage(named: "image2")
var controllers = [UIViewController]()
for var i = 0; i < self.myList.count; i++ {
let vc : ViewControllerTwo = storyboard.instantiateViewControllerWithIdentifier("view1") as! ViewControllerTwo
if(i == 0 || i == 3)
{
vc.tabBarItem = UITabBarItem(
title: self.myList[i],
image: firstImage,
tag: i)
controllers.append(vc)
}
else
{
vc.tabBarItem = UITabBarItem(
title: self.myList[i],
image: secondImage,
tag: i)
controllers.append(vc)
}
}
self.tabBarController.viewControllers = controllers
self.window?.rootViewController = self.tabBarController
self.self.window?.rootViewController = self.tabBarController
self.window?.makeKeyAndVisible()
我想我解決它使用了一個的NSTimer方法,有時變化並獲得國家給予如下描述狀態不好 http://stackoverflow.com/questions/28099148/switch-tab-bar- programatically-in-swift – Saty
您應該將您的類設置爲標籤欄控制器的代理,然後您將調用'didSelectViewController'。您可以將選定的視圖控制器與'controllers'數組進行比較,以確定所選視圖控制器的索引 – Paulw11
除非您做錯什麼,否則您不應該需要NSTimer ... – Paulw11