Ios 以编程方式在loginVC之后嵌入自定义选项卡栏控制器
我在没有故事板的情况下工作。 成功登录后,我想在ViewController中添加一个选项卡。 我创建了另一个名为tabBar controller的viewController,代码如下:Ios 以编程方式在loginVC之后嵌入自定义选项卡栏控制器,ios,swift,uitabbarcontroller,Ios,Swift,Uitabbarcontroller,我在没有故事板的情况下工作。 成功登录后,我想在ViewController中添加一个选项卡。 我创建了另一个名为tabBar controller的viewController,代码如下: class TabBarController: UITabBarController,UITabBarControllerDelegate { override func viewDidLoad() { super.viewDidLoad() self.delegate = self }
class TabBarController: UITabBarController,UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
override func viewWillAppear(_ animated: Bool) {
// Create Tab one
let tabOne = Home()
let tabOneBarItem = UITabBarItem(title: "Collection", image: #imageLiteral(resourceName: "matchTabIcon"), selectedImage: #imageLiteral(resourceName: "matchTabIconSelected"))
tabOne.tabBarItem = tabOneBarItem
// Create Tab two
let tabTwo = ScoutingVC()
let tabTwoBarItem2 = UITabBarItem(title: "Scouting", image: #imageLiteral(resourceName: "scouting"), selectedImage:#imageLiteral(resourceName: "scoutingSelected"))
tabTwo.tabBarItem = tabTwoBarItem2
self.viewControllers = [tabOne, tabTwo]
}
// UITabBarControllerDelegate method
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
print("Selected \(viewController.title!)")
}
}
将此添加到我所有的风险投资中的正确方法是什么?
我试过了
self.vc.addSubView(tabBarController)
也可以在第一个VC(索引:0)中创建func(),但是选项卡栏不在那里,或者如果在那里,就不会在ViewController之间切换
func showTabBarController() {
// Create Tab one
let home = Home()
let homeTabBarItem = UITabBarItem(title: "Collection", image: #imageLiteral(resourceName: "matchTabIcon"), selectedImage: #imageLiteral(resourceName: "matchTabIconSelected"))
home.tabBarItem = homeTabBarItem
let navHome = UINavigationController.init(rootViewController: home)
// Create Tab two
let scouting = ScoutingVC()
let scoutingTabBarItem = UITabBarItem(title: "Scouting", image: #imageLiteral(resourceName: "scouting"), selectedImage: #imageLiteral(resourceName: "scoutingSelected"))
scouting.tabBarItem = scoutingTabBarItem
let navScouting = UINavigationController.init(rootViewController: scouting)
//showTabBar
tabBarCnt.viewControllers = [navHome, navScouting]
self.view.addSubview(tabBarCnt.tabBar)
}
不要使用self.vc.addSubView(tabBarController)使用present(tabBarController(),动画:false,完成:nil)而不要使用self.vc.addSubView(tabBarController)使用present(tabBarController(),动画:false,完成:nil)这是正确的答案。谢谢。好的,我发布了一个答案,你能接受它来结束这个问题吗