2016-12-10 2 views
0

Я новичок в iOS, и мое требование - реализовать панель вкладок. У меня есть 5 элементов панели вкладок, и для каждого элемента есть другой экран (UIViewController). У меня есть HomeViewController и остальные 4 ViewControllers. Мне нужно показать все UIViewControllers, используя элемент tabBar. И я должен показать панель вкладок внизу для всех UIViewControllers.Как создать панель вкладок с помощью SingleViewApplication iOS?

В изображении Вы можете видеть.

В Image, я нахожусь в HomeViewController, и для каждой вкладки мне нужно перейти на соответствующие ViewControllers, но панель вкладок должна присутствовать для всех ViewControllers. StoryBoard: - enter image description here Я читал учебники, но все еще смущен. Как я могу это сделать?

Благодаря

+0

Добавьте то, что вы делали до сих пор. Где именно вас смущает? Какую часть уроков вы не поняли? – KrishnaCA

+0

Существует множество способов реализации tabBar, вы можете использовать свою собственную настраиваемую вкладку вместо TabBar по умолчанию. Нет ничего важного в том, что вы используете одиночный просмотр или другое ..... –

+0

Я уже реализовал. Я взял контроллер и перетащил панель вкладок. Теперь, что делать? – kishor0011

ответ

0

Вы можете создать класс вид вкладки контроллера, как этот

class TabBarViewController: UITabBarController { 

    required init(coder aDecoder: NSCoder) { 

    super.init(coder: aDecoder)! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    UITabBar.appearance().tintColor = UIColor(red: 254/255.0, green: 105/255.0, blue: 51/255.0, alpha: 100.0) 

    for i in 0 ..< self.tabBar.items!.count { 

     switch i { 

     case 0: 

      tabBar.items?[0].title = "Home" 
      let firstTab = self.tabBar.items![i] as UITabBarItem 
      learnTab.image = UIImage(named: "Homedeselected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      firstTab.selectedImage = UIImage(named: "Homedeselected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      firstTab.imageInsets = UIEdgeInsetsMake(-1, 0, 1, 0) 
      firstTab.titlePositionAdjustment = UIOffsetMake(0, -4) 


     case 1: 

      tabBar.items?[1].title = "Request" 
      let secondTab = self.tabBar.items![i] as UITabBarItem 
      secondTab.image = UIImage(named: "RequestDeselected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      secondTab.selectedImage = UIImage(named: "Requestselected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      secondTab.imageInsets = UIEdgeInsetsMake(-1, 0, 1, 0) 
      secondTab.titlePositionAdjustment = UIOffsetMake(0, -4) 

     case 2: 

      tabBar.items?[2].title = "Renew" 
      let thirdTab = self.tabBar.items![i] as UITabBarItem 
      thirdTab.image = UIImage(named: "RenewDeSelected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      thirdTab.selectedImage = UIImage(named: "RenewSelected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      thirdTab.imageInsets = UIEdgeInsetsMake(-1, 0, 1, 0) 
      thirdTab.titlePositionAdjustment = UIOffsetMake(0, -4) 

     case 3: 

      tabBar.items?[3].title = "ReSell" 
      let forthTab = self.tabBar.items![i] as UITabBarItem 
      forthTab.image = UIImage(named: "ReSellDeSelected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      forthTab.selectedImage = UIImage(named: "ReSellSelected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      forthTab.imageInsets = UIEdgeInsetsMake(-1, 0, 1, 0) 
      forthTab.titlePositionAdjustment = UIOffsetMake(0, -4) 

     case 4: 

      tabBar.items?[4].title = "ReCycle" 
      let fifthTab = self.tabBar.items![i] as UITabBarItem 
      fifthTab.image = UIImage(named: "ReCycleDeSelected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      fifthTab.selectedImage = UIImage(named: "ReCycleSelected")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
      fifthTab.imageInsets = UIEdgeInsetsMake(-2, 0, 2, 0) 
      fifthTab.titlePositionAdjustment = UIOffsetMake(0, -5) 

     default: 
      break 
     } 
    } 
} 

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { 

    let rootView = self.viewControllers![self.selectedIndex] as! UINavigationController 
    rootView.popToRootViewControllerAnimated(ture) 


    } 

} 

}

+0

У меня есть элемент с 5 вкладками. Как показать его для всех контроллеров представления? Пока на каждом предмете. – kishor0011

+0

вам нужно взять вкладку Bar Controller и добавить пять контроллеров представления с этим контроллером панели вкладок, а затем, когда мы выберем вкладку, появится связанный viewController – Ram

+0

No Я взял панель вкладок и перетащил в контроллер View. И теперь программно, как я могу подойти к тому же? – kishor0011

Смежные вопросы