ios - Programmatically add tab to tab bar -


i have app uitabbarcontroller initial view controller.

currently i'm doing in storyboard want programmatically add tab tab bar based on user being logged in or not.

i made testviewcontroller test out. right have 2 tabs (pictured below). want have third tab positioned on right programmatically. put code in appdelegate's didfinishlaunching method. based on print statements view controller being added tab bar not appearing in tab bar app loads.

any suggestions?

    func addtabtest() {     let storyboard = uistoryboard(name: "main", bundle: nil)     let tabcontroller = storyboard.instantiateviewcontrollerwithidentifier("roottabcontroller") as! uitabbarcontroller     let testvc = storyboard.instantiateviewcontrollerwithidentifier("testviewcontroller") as! testviewcontroller     let icon = uitabbaritem(title: "test", image: nil, selectedimage: nil)     testvc.tabbaritem = icon      print("tab controllers 1: \(tabcontroller.viewcontrollers)")      tabcontroller.addchildviewcontroller(testvc)     tabcontroller.viewcontrollers![2] = testvc      print("tab controllers 2: \(tabcontroller.viewcontrollers)")  } 

enter image description here

enter image description here

    self.window = uiwindow(frame: uiscreen.mainscreen().bounds)     let nav1 = uinavigationcontroller()     let mainstoryboard: uistoryboard = uistoryboard(name: "main", bundle: nil)      let first: viewcontroller = mainstoryboard.instantiateviewcontrollerwithidentifier("viewcontroller") as! viewcontroller     nav1.viewcontrollers = [first]     nav1.setnavigationbarhidden(true, animated: true)     nav1.title = "first"      let nav2 = uinavigationcontroller()     let second: secondviewcontroller = mainstoryboard.instantiateviewcontrollerwithidentifier("secondviewcontroller") as! secondviewcontroller     nav2.viewcontrollers = [second]     nav2.setnavigationbarhidden(true, animated: true)     nav2.title = "second"      let nav3 = uinavigationcontroller()     let third: thirdviewcontroller = mainstoryboard.instantiateviewcontrollerwithidentifier("thirdviewcontroller") as! thirdviewcontroller     nav3.viewcontrollers = [third]     nav3.setnavigationbarhidden(true, animated: true)     nav3.title = "third"        let tabcontroller = uitabbarcontroller()     tabcontroller.viewcontrollers = [nav1,nav2,nav3]     tabcontroller.selectedindex = 0      self.window!.rootviewcontroller = tabcontroller     self.window?.makekeyandvisible() 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

python 3.5 - Pyqtgraph string in x tick -