当前位置:   article > 正文

IOS 17 基于UITabBarController实现首页TabBar

IOS 17 基于UITabBarController实现首页TabBar

实现方式

创建首页MainController继承自UITabBarController就可以实现Tabbar效果。

实现效果

创建几个子控制器

创建子控制器 DiscoveryController,VideoController,MeController,FeedController,RoomController,继承自BaseLogicController;BaseLogicController封装 查看文章 IOS 11 通用Base控制器封装

  1. //
  2. // DiscoveryController.swift
  3. // MyCloudMusic
  4. //
  5. // Created by jin on 2024/8/27.
  6. //
  7. import UIKit
  8. class DiscoveryController: BaseLogicController {
  9. }

其余自控制器实现同DiscoveryController。

创建MainController 

MainController继承自UITabBarController

  1. //
  2. // MainController.swift
  3. // 主界面
  4. //
  5. // Created by jin on 2024/8/20.
  6. //
  7. import UIKit
  8. class MainController: UITabBarController {
  9. override func viewDidLoad() {
  10. super.viewDidLoad()
  11. //选中高亮颜色
  12. tabBar.tintColor = .primaryColor
  13. tabBar.isTranslucent = true
  14. //添加子控制器
  15. addChildController(DiscoveryController(), R.string.localizable.discovery(), "Discovery")
  16. addChildController(VideoController(), R.string.localizable.video(), "Video")
  17. addChildController(MeController(), R.string.localizable.me(), "Me")
  18. addChildController(FeedController(), R.string.localizable.feed(), "Feed")
  19. addChildController(RoomController(), R.string.localizable.live(), "Live")
  20. }
  21. /// 添加子控制器
  22. func addChildController(_ target:UIViewController,_ title:String,_ imageName:String) {
  23. //标题
  24. target.tabBarItem.title = title
  25. //默认图片
  26. target.tabBarItem.image = UIImage(named: imageName)
  27. //选择后图片
  28. target.tabBarItem.selectedImage = UIImage(named: "\(imageName)Selected")
  29. //选择后文本颜色
  30. target.tabBarItem.setBadgeTextAttributes([.foregroundColor:UIColor.colorPrimary], for: .selected)
  31. addChild(target)
  32. }
  33. }

编译能够正常显示首页Tabbar效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/1022111
推荐阅读
相关标签
  

闽ICP备14008679号