我有一个包含标签控制器的项目,作为主要的“页面”。
我想添加一个UITabBar按钮项,它提供一个视图控制器modaly,并在该视图控制器中添加一个dismiss按钮,该按钮取消该视图控制器并返回上一个选项卡选择。
为了澄清,它是适用于iOS的Medium应用程序,当您单击创建帖子项目时,它会模拟显示它并在您想要时将其解除。
我可以呈现视图控制器,但我不能忽略它。
希望我能让自己理解。
答案 0 :(得分:0)
所以我设法按照我的意愿解决了这个问题,希望答案能帮助将来有人。
首先,我设置了我的第一个加载的视图控制器,让我说出我的主页'查看控制器tabBarController
委托是我的AppDelegate.swift文件(这是个人偏好),如:
self.tabBarController?.delegate = UIApplication.shared.delegate as? UITabBarControllerDelegate
然后在我的AppDelegate.swift
文件中,我将代理UITabBarControllerDelegate
添加到类属性中,以便我可以访问tabBarController
委托函数,例如
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {}
然后编辑该功能以与我的特定视图控制器进行交互。
该功能的最终版本:
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if viewController is ViewControllerToPresentModaly {
if let newVC = tabBarController.storyboard?.instantiateViewController(withIdentifier: "modalVC") {
tabBarController.present(newVC, animated: true)
return false
}
}
return true
}
此处,如果您需要常规标签行为,return true
或您自己的return false
)