gpt4 book ai didi

swift - 以编程方式创建 TabBar 但不在 rootViewController 上

转载 作者:行者123 更新时间:2023-11-28 15:04:08 25 4
gpt4 key购买 nike

我有一个 TableViewController Element,当我点击任何一行时,它会推送 tableViewController CreateElement

我想在没有 storyBoard 的 TableViewController CreateElement 上添加一个 TabBar ONLY

Element TableViewController 上,我添加了 didSelectRowAt:

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

let editCreateElementsVC = CreateElementsVC()
editCreateElementsVC.delegate = self

let navController = UINavigationController(rootViewController: editCreateElementsVC)
present(navController, animated: true, completion: nil)
}

我已经创建了一个 CustomizeBarTabController,如下所示:

    override func viewDidLoad() {
super.viewDidLoad()

let mainCollectingFolder = MainCollectingFolders()
let navigationControllerMainCollectingFolder = UINavigationController(rootViewController: mainCollectingFolder)

navigationControllerMainCollectingFolder.title = "Folder"
navigationControllerMainCollectingFolder.tabBarItem.image = UIImage(named: "iconMenu")

viewControllers = [navigationControllerMainCollectingFolder]
}

仅在 CreateElement 中显示自定义选项卡栏没有成功。

任何建议如何进行?

最佳答案

当在 Element TableViewController 中调用 tableview 的 didSelect 时,推送到 UITabBarController 而不是 CreateElement tableViewController。

来自 Element TableViewController 的 didSelectRowAt indexPath

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let tab = TabbarController()
self.navigationController?.pushViewController(tab, animated: true)
}

创建 TabbarController,它是 UITabBarController 的子类,如下所示:

class TabbarController: UITabBarController {

override func viewDidLoad() {
super.viewDidLoad()

let createElement = CreateElementTVC() //Create Element TableViewController
createElement.tabBarItem = UITabBarItem(tabBarSystemItem: .history, tag: 0)

let more = MoreVC() //For eg. take empty UIViewController for another tab
more.tabBarItem = UITabBarItem(tabBarSystemItem: .more, tag: 1)

//Assign view controllers which you want to show in tab bar
self.viewControllers = [createElement, more].
}
}

关于swift - 以编程方式创建 TabBar 但不在 rootViewController 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com