当按下按钮时呈现新的ViewController时如何显示tabBarController
问题描述:
我有一个activityfeedVC。如果用户单击一个tableViewCell,则会显示一个activityVC。在这个VC中,我有一个“返回”按钮。点击时,我想返回到前一个视图控制器。我能够实现这一点,但我无法显示tabBarController。我使用完成处理程序,但有些错误。希望你能帮助。当按下按钮时呈现新的ViewController时如何显示tabBarController
import UIKit
class activityVC: UIViewController {
@IBAction func backBtnWasPressed(_ sender: Any) {
// Navigates back
let feedVC = storyboard?.instantiateViewController(withIdentifier: "feedVC")
func completionHandler() {
// show the tabBarController - NOT WORKING
feedVC?.tabBarController?.tabBar.isHidden = false
print("tabBarController shown")
}
present(feedVC!, animated: false, completion: completionHandler)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
我想我应该用它代替我的客户导航UINavigationBar的......也许这是比较容易,尽管我没有需要这个功能很多意见...
答
你推activityVC到视图控制器堆栈上?如果是这样,当用户点击后退按钮时,您可以简单地弹出activityVC。
class activityVC: UIViewController {
@IBAction func backBtnWasPressed(_ sender: Any) {
self.navigationController?.popViewController(animated: false)
}
}
你调试,如果任何这些都是零,当你设置的值'feedVC?.tabBarController?.tabBar.isHidden = FALSE' – carbonr
另外,在你的故事板'“feedVC”'的tabBarController或活动视图控制器。如果故事板中可用,则需要链接到TabBarController。另一种方法是只关闭当前的视图控制器,而不是加载其他视图控制器的轻击按钮,如果它的模态呈现 – carbonr
它没有模态地呈现,所以不起作用。 tabBarController是在类CustomTabBarController中以编程方式创建的。你是说,而不是呈现UIViewController我应该呈现CustomTabBarController? –