在swift5中按下特定按钮时如何使用代码呈现tabBarViewController(在情节提要中创建)?
Posted
技术标签:
【中文标题】在swift5中按下特定按钮时如何使用代码呈现tabBarViewController(在情节提要中创建)?【英文标题】:how to present a tabBarViewController(created in storyboard) using code when pressed a particular button in swift5? 【发布时间】:2021-02-04 08:45:24 【问题描述】:我有一个名为 ViewController 的 viewController,上面有一个按钮,我想在按下按钮时显示一个 tabBarController(它已经包含两个 viewController),我希望它全屏显示我已经尝试了一个代码
let tabbar = (self.storyboard?.instantiateViewController(identifier: "TabBar") as? UITabBarController)
tabbar!.modalPresentationStyle = .fullScreen
self.present(tabbar!, animated: true)
标识符实际上是我在故事板上给 tabBar 控制器的故事板 ID, 这段代码确实有效,但是当我按下触发该代码的按钮时,它可以正常工作,但是当我在下一次构建时连接该 tabBar 控制器上存在的 viewControllers 的出口时,那些 Viewcontrollers(那些在那个 tabBbar 上的)似乎变黑了,我看不到我在情节提要上设计的任何组件而且我在控制台中收到此消息
尝试在
【问题讨论】:
【参考方案1】:你可以尝试从 ViewController 到 TabController 设置一个 segue
Set the segue connection
现在输入一个标识符。
Set the segue ID
在您的第一个 ViewController 中添加一个 func 并使用 segue 标识符移动到另一个视图。
func prepare(for segue: UIStoryboardSegue, sender: Any?)
if segue.identifier == "yourSegueID"
let tabBarController = segue.destination as! UITabBarController
tabBarController.title = "TabBarController"
然后添加一个按钮动作来调用这一行
@IBAction func infoMessage(_ sender: UIButton)
performSegue(withIdentifier: "yourSegueID", sender: nil)
This is the implementation
【讨论】:
以上是关于在swift5中按下特定按钮时如何使用代码呈现tabBarViewController(在情节提要中创建)?的主要内容,如果未能解决你的问题,请参考以下文章