Ios UINavigationController不带导航栏?
我有一个通用应用程序,在iPad版本中,我使用Ios UINavigationController不带导航栏?,ios,uinavigationcontroller,Ios,Uinavigationcontroller,我有一个通用应用程序,在iPad版本中,我使用UISplitViewController创建了一个类似于邮件应用程序的界面 我在推送新的细节视图时遇到困难,所以我决定使用UINavigationController,这样我就可以根据需要推送和弹出视图。但是,我不想使用导航视图或工具栏。但无论我做什么,我都无法隐藏导航栏 我已尝试取消选中IB中的“显示导航栏”,并尝试设置: [self.navigationController setNavigationBarHidden:YES]; 在view
UISplitViewController
创建了一个类似于邮件应用程序的界面
我在推送新的细节视图时遇到困难,所以我决定使用UINavigationController
,这样我就可以根据需要推送和弹出视图。但是,我不想使用导航视图或工具栏。但无论我做什么,我都无法隐藏导航栏
我已尝试取消选中IB中的“显示导航栏”,并尝试设置:
[self.navigationController setNavigationBarHidden:YES];
在viewdiload
/viewdilease
/视图将出现。我也在将要推送的每个视图中尝试了它。什么都不管用
这里有我遗漏的东西吗?是否可以在没有工具栏或导航栏的情况下使用UINavigationController
self.navigationController.navigationBar.isHidden = true //Swift 5
其中self.navigationController(显然)是UINavigationController的实例。似乎对我有用,但在发布之前我只是简单地测试了一下。在Xcode 4.3.2中:
在情节提要中选择导航控制器
在(右)实用程序面板中选择属性检查器
在“导航控制器”类别下,您有两个复选框:
[]显示导航栏
[]显示工具栏
为我工作…如果您不需要导航栏,并且希望内容调整到导航栏通常的位置,则应使用
self.navigationController.navigationBarHidden = YES;
这会产生如下结果:
鉴于self.navigationController.navigationBar.hidden=YES代码>为您提供导航栏应该位于的空间。像这样:
Swift 3以编程方式
或
注意:在iOS 10上测试时,我没有发现这两种方法之间的差异。Swift 4
我将它隐藏在视图中
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true;
}
然后,您可以在按下一个序列时将其放回原位(如果您想在下一个视图中使用“后退”按钮)
所有这些答案仍然在状态栏顶部留有一个空间-添加这一行也可以删除:
navController.navigationBar.isHidden = true
navController.accessibilityFrame = CGRect.zero
类的超类是什么self
是的实例?因此,在您的例子中,self.navigationController.navigationBar.hidden=YES;成功了!不过我要补充的是,我可以简单地选中IB中Nagiviation工具栏的隐藏框,而不是通过代码来完成。谢谢是的,很抱歉。我应该知道您使用的是IB,并且提到了隐藏框而不是代码。我最近很想完全以编程方式创建没有.xib文件的所有界面,所以我直接回答了这个问题。我称之为我的视图控制器中的is in viewWillapar,如下所示-(void)viewWillDisplay:(BOOL)动画{self.navigationController.navigationBar.hidden=YES;}
而且它可以工作导航栏是隐藏的,但是我的视图控制器屏幕没有扩展到全屏,这与iOS 6在结果上的差异非常好。从IOS 7开始,空间似乎已被删除,但我将等待更多人验证这一点。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true;
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
self.navigationController?.isNavigationBarHidden = false;
}
navController.navigationBar.isHidden = true
navController.accessibilityFrame = CGRect.zero