导航栏隐藏不工作的IOS

时间:2014-04-15 05:37:50

标签: objective-c uinavigationcontroller

您好,我是iOS开发的新手。我有一个隐藏导航栏的主屏幕。从那里我使用back segue导航到另一个视图。但当我点击它显示主屏幕上的导航栏时。这是我的问题描述。

在主屏幕onviewload中我正在做:

self.navigationController.navigationBarHidden = YES;

一旦用户在新控制器中使用back segue转到另一个视图,我正在做

self.navigationController.navigationBarHidden = NO;

现在,如果我点击它会在主窗口显示我不想要的导航栏。基本上我想要没有导航栏的主屏幕和带导航栏的下一个窗口。

如何做到这一点。需要帮忙。谢谢。

6 个答案:

答案 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 中。