赞
踩
创建首页MainController继承自UITabBarController就可以实现Tabbar效果。
创建子控制器 DiscoveryController,VideoController,MeController,FeedController,RoomController,继承自BaseLogicController;BaseLogicController封装 查看文章 IOS 11 通用Base控制器封装
- //
- // DiscoveryController.swift
- // MyCloudMusic
- //
- // Created by jin on 2024/8/27.
- //
-
- import UIKit
-
- class DiscoveryController: BaseLogicController {
-
-
- }
其余自控制器实现同DiscoveryController。
MainController继承自UITabBarController
- //
- // MainController.swift
- // 主界面
- //
- // Created by jin on 2024/8/20.
- //
-
- import UIKit
-
- class MainController: UITabBarController {
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- //选中高亮颜色
- tabBar.tintColor = .primaryColor
- tabBar.isTranslucent = true
-
- //添加子控制器
- addChildController(DiscoveryController(), R.string.localizable.discovery(), "Discovery")
- addChildController(VideoController(), R.string.localizable.video(), "Video")
- addChildController(MeController(), R.string.localizable.me(), "Me")
- addChildController(FeedController(), R.string.localizable.feed(), "Feed")
- addChildController(RoomController(), R.string.localizable.live(), "Live")
- }
-
- /// 添加子控制器
- func addChildController(_ target:UIViewController,_ title:String,_ imageName:String) {
- //标题
- target.tabBarItem.title = title
-
- //默认图片
- target.tabBarItem.image = UIImage(named: imageName)
-
- //选择后图片
- target.tabBarItem.selectedImage = UIImage(named: "\(imageName)Selected")
-
- //选择后文本颜色
- target.tabBarItem.setBadgeTextAttributes([.foregroundColor:UIColor.colorPrimary], for: .selected)
-
- addChild(target)
- }
- }
编译能够正常显示首页Tabbar效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。