如何使用 Xibs 在 Swift 中使用 Tab Bars 进行导航

Posted

技术标签:

【中文标题】如何使用 Xibs 在 Swift 中使用 Tab Bars 进行导航【英文标题】:How to navigate using Tab Bars in Swift using Xibs 【发布时间】:2020-04-14 07:41:17 【问题描述】:

我正在尝试使用标签栏导航到使用 Xibs 的其他视图控制器。但是,我无法找到有形的资源来进一步进行。我目前的解决方案涉及映射,我似乎看不出问题出在哪里。

import UIKit

class BottomNavViewController: UIViewController 

    @IBOutlet weak var home: UITabBarItem!
    @IBOutlet weak var assets: UITabBarItem!
    @IBOutlet weak var transactions: UITabBarItem!
    @IBOutlet weak var profile: UITabBarItem!
    @IBOutlet weak var tabBar: UITabBar!

    override func viewDidLoad() 
        super.viewDidLoad()

        navigateTab()
    

    func navigateTab() -> Void

        let tabBarController = UITabBarController()
        let homeVC = HomeViewController()
        let assetsVC = AssetsViewController()
        let transactionsVC = TransactionsViewController()
        let profileVC = ProfileViewController()

        let controllers = [homeVC, assetsVC, transactionsVC, profileVC]

        tabBarController.viewControllers = controllers.map 
            UINavigationController(rootViewController: $0)
        
    

【问题讨论】:

【参考方案1】:

就是这样,你要使用UITabbarController

class MYTabViewController: UITabBarController 


    override func viewDidLoad() 
        super.viewDidLoad()

    

    override func viewWillAppear(_ animated: Bool) 
        let firstVC = FirstVC()
        firstVC.tabBarItem = UITabBarItem(title: "Tab 1", image:(your image), tag: 0)

        let secondVC = SecondVC()
        secondVC.tabBarItem = UITabBarItem(title: "Tab 2", image: (your image), tag: 1)

        viewControllers = [firstVC,secondVC]
    


【讨论】:

我收到了Incorrect argument label in call (have 'tag:', expected 'coder:')@Dilan @KevinKibet,请添加你正在做什么来修复它。因为它会帮助某人。 你的解决方案是有效的..我刚刚忘记添加图片

以上是关于如何使用 Xibs 在 Swift 中使用 Tab Bars 进行导航的主要内容,如果未能解决你的问题,请参考以下文章

ios swift故事板和xibs

使用 Swift 的基于文档的应用程序

如何使用背景图像删除 > iOS 10 和 Swift 4 中的 Tab Bar 顶部边框(阴影)?

如何在 Swift 中呈现 UI 视图并保留 Tab 栏

使用 xibs 嵌套@IBDesignables?

我可以将非 xib 应用程序转换为使用 xibs 吗?