Ich versuche, eine Vorlage für meine App zu machen ... sagen wir meine App lädt die gleiche Ansicht Controller, der eine CollectionView für 4 Registerkarten hat. Je nach ausgewähltem Index muss ich den Inhalt in die Sammlungsansicht laden. Ich richte die Tab-Leiste manuell von Appdelegate ein. Meine Frage ist: Ist das möglich wie der gleiche Viewer für alle 4 Registerkarten des Tabbarcontrollers gleichzeitig instanziiert. Wenn ja, woher weiß ich, welcher Index ausgewählt ist?Same View-Controller im Tab-Bar-Controller für 4 Tabs gibt falsch ausgewählten Tabcontroller ausgewählten Index
-Code für TabBarController in 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()
Ich glaube, ich beschlossen, es eine Methode mit einem NSTimer verwendet, da manchmal die Änderung und bekommen Staaten gibt schlechten Zustand, wie hier beschrieben http://stackoverflow.com/questions/28099148/switch-tab-bar- programmatically-in-swift – Saty
Sie sollten Ihre Klasse als Delegat für den Tab-Bar-Controller festlegen und dann erhalten Sie einen Aufruf von 'didSelectViewController'. Sie können den ausgewählten View-Controller mit dem 'controllers'-Array vergleichen, um den Index des ausgewählten View-Controllers zu bestimmen – Paulw11
Sie sollten keinen NSTimer benötigen, außer Sie machen etwas falsches ... – Paulw11