您好,我是iOS开发的新手。我有一个隐藏导航栏的主屏幕。从那里我使用back segue导航到另一个视图。但当我点击它显示主屏幕上的导航栏时。这是我的问题描述。
在主屏幕onviewload中我正在做:
self.navigationController.navigationBarHidden = YES;
一旦用户在新控制器中使用back segue转到另一个视图,我正在做
self.navigationController.navigationBarHidden = NO;
现在,如果我点击它会在主窗口显示我不想要的导航栏。基本上我想要没有导航栏的主屏幕和带导航栏的下一个窗口。
如何做到这一点。需要帮忙。谢谢。
答案 0 :(得分:19)
将该代码放在viewWillAppear而不是viewDidLoad中,它应该可以正常工作。
答案 1 :(得分:3)
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
}
答案 2 :(得分:1)
我有一个public class ExampleData implements java.io.Serializable {
// The following also guarantees that strings is always an ArrayList.
private final ArrayList<String> strings = new ArrayList<>();
由4个标签组成,我的标签之一不需要导航栏,但其他人需要。
以前的答案都没有解决我的问题,这些代码确实如此。
Tab viewcontroller
答案 3 :(得分:0)
不使用
db.survey.aggregate(
{$unwind: "$survey_answers"},
{$group: {
_id: { 'optionAnswer': "$survey_answers.option_answer", 'id':'$survey_answers.id'},
count: { $sum: 1}
}},
{$project : {
answer: '$_id.optionAnswer',
id: '$_id.id',
count: '$count',
_id:0
}},
{$group: {
_id:{id:"$id"},
results: { $addToSet: {answer: "$answer", count: '$count'} }
}},
{$project : {
id: '$_id.id',
answer: '$results',
_id:0
}})
您应该使用
self.navigationController.navigationBarHidden = YES;
答案 4 :(得分:0)
对于Swift 4,在viewWillAppear中添加以下内容
self.navigationController?.setNavigationBarHidden(false, animated: false)
答案 5 :(得分:0)
self.navigationController?.setNavigationBarHidden(false, animation: false)
将上述代码行放在 viewWillAppear 而不是 viewDidLoad 中。