我正在开发一个快速的应用程序。当我点击表格中的某个项目时,我需要打开一个新视图。那个很好但很好用,但标签栏的底部按钮仍然存在。我怎么能这样消失?
用于调用下一个屏幕的代码。我已经测试了一些不同的方法,但这是唯一一个工作正常的方法..我认为这不是问题所在..
func irParaMarcacoes(nome:String){
let next:ViewMarcacaoController = storyboard?.instantiateViewControllerWithIdentifier("ViewMarcacaoController") as! ViewMarcacaoController
next.projNome = nome;
self.navigationController?.pushViewController(next, animated: true)
}
This is what I have, the first screen
This is what I want the tap bar to disappear
感谢您的关注。
*使用XCode 7.3
答案 0 :(得分:1)
你可以隐藏导航栏。
在ViewMarcacaoController
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBarHidden = true
}
答案 1 :(得分:0)
您正在从导航栏推送视图控制器
所以你推动的控制器是它的顶视图控制器
所以在视图中会出现方法
self.navigationController!.setNavigationBarHidden(true, animated: animated)
隐藏底栏
self.tabBarController?.tabBar.hidden = true
答案 2 :(得分:0)
我在Michael Campsall中找到了here提供的出色解决方案。
解决方案主要包括:
func setTabBarVisible(visible:Bool, animated:Bool) {
//* This cannot be called before viewDidLayoutSubviews(), because the frame is not set before this time
// bail if the current state matches the desired state
if (tabBarIsVisible() == visible) { return }
// get a frame calculation ready
let frame = self.tabBarController?.tabBar.frame
let height = frame?.size.height
let offsetY = (visible ? -height! : height)
// zero duration means no animation
let duration:NSTimeInterval = (animated ? 0.3 : 0.0)
// animate the tabBar
if frame != nil {
UIView.animateWithDuration(duration) {
self.tabBarController?.tabBar.frame = CGRectOffset(frame!, 0, offsetY!)
return
}
}
}
func tabBarIsVisible() ->Bool {
return self.tabBarController?.tabBar.frame.origin.y < CGRectGetMaxY(self.view.frame)
}
答案 3 :(得分:0)