如何使用swift在UITabBarController中以编程方式添加选项卡?

前端之家收集整理的这篇文章主要介绍了如何使用swift在UITabBarController中以编程方式添加选项卡?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从UIViewController扩展的任何类中以编程方式创建选项卡:
  1. class DashboardTabBarController: UITabBarController {
  2.  
  3. override func viewDidLoad() {
  4. //here
  5.  
  6. }
  7. ...
  8.  
  9. }
更新SWIFT 3

以编程方式创建UITabBarController的一个例子可能是这样的:

首先我们创建一个UIViewControllers,它将是标签栏界面的每个选项卡的内容.对于这个例子,我们只创建一个很简单.

  1. class Item1ViewController: UIViewController {
  2. override func viewDidLoad() {
  3. super.viewDidLoad()
  4.  
  5. view.backgroundColor = UIColor.green
  6. self.title = "item1"
  7. print("item 1 loaded")
  8. }
  9. }

现在,UITabBarController:

我们创建我们要在标签栏中显示的UIViewControllers的新实例.然后我们为每个我们创建的实例创建一个图标,然后我们创建一个数组,其中包含所有UIViewControllers,它们为选项卡栏界面的每个选项卡指定内容.数组中视图控制器的顺序对应于选项卡栏中的显示顺序.

  1. class DashboardTabBarController: UITabBarController,UITabBarControllerDelegate {
  2. override func viewDidLoad() {
  3. super.viewDidLoad()
  4. delegate = self
  5. }
  6.  
  7. override func viewWillAppear(_ animated: Bool) {
  8. super.viewWillAppear(animated)
  9. let item1 = Item1ViewController()
  10. let icon1 = UITabBarItem(title: "Title",image: UIImage(named: "someImage.png"),selectedImage: UIImage(named: "otherImage.png"))
  11. item1.tabBarItem = icon1
  12. let controllers = [item1] //array of the root view controllers displayed by the tab bar interface
  13. self.viewControllers = controllers
  14. }
  15.  
  16. //Delegate methods
  17. func tabBarController(_ tabBarController: UITabBarController,shouldSelect viewController: UIViewController) -> Bool {
  18. print("Should select viewController: \(viewController.title) ?")
  19. return true;
  20. }
  21. }

猜你在找的Swift相关文章