我知道这是一个重复的问题。但是即使尝试了各种可能性,仍然存在问题。因此,我希望通过发帖来寻求解决方案。希望能从你们那里得到帮助。
初始视图嵌入在UINavigationController中。对于初始视图(着陆视图),导航栏必须隐藏。从着陆视图调用其他视图时,必须显示导航栏。
我通过覆盖视图的方法来处理着陆视图中导航栏的隐藏和显示,如下所示:
当应用程序最初加载时,导航栏处于隐藏状态(按预期工作正常)。从子视图控制器返回到登陆界面时,几秒钟后导航栏被隐藏 - 登陆界面被加载到ui屏幕上。
我还尝试在landing view中使用navigationcontroller委托方法:navigationController:willShowViewController:animated:,但是无法找到需要的解决方案。
因此,我在其中一个子视图控制器中提供了navigationcontroller委托,并检查弹出的子控制器是否不在navigationcontroller的viewcontrollers中,使用if条件。当是的时候,我提供了navigationbar的隐藏选项。但是仍然没有达到解决方案。
在搜索过程中,有一种解决方案可以使用viewanimation来处理。我尝试了也失败了。
再次搜索,提供的解决方案是使用viewwillappear和viewwilldisappear来处理类似的问题。我很困惑,因为我的做法与建议的方法类似。即使这样,我仍然无法达到解决方案。
FYI..我正在使用Xcode 6.3,部署目标是从6.0开始的。我正在使用storyboard管理视图。
请帮助我解决这个问题... 应用程序加载时隐藏导航栏在登陆页面。但是当从子视图加载回登陆页面时,导航栏仅在登陆界面加载到控制器顶部后才会被隐藏。我确实需要像应用程序加载时一样隐藏导航栏,当子视图弹出并登陆视图加载到控制器的顶部时。
初始视图嵌入在UINavigationController中。对于初始视图(着陆视图),导航栏必须隐藏。从着陆视图调用其他视图时,必须显示导航栏。
我通过覆盖视图的方法来处理着陆视图中导航栏的隐藏和显示,如下所示:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Hiding the navigationbar hidden for the first page
[[self navigationController] setNavigationBarHidden:YES animated:YES];
}
// 即使尝试了animated:NO和animated:animated
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
// Showing the navigationbar hidden for the first page
[[self navigationController] setNavigationBarHidden:NO animated:YES];
}
当应用程序最初加载时,导航栏处于隐藏状态(按预期工作正常)。从子视图控制器返回到登陆界面时,几秒钟后导航栏被隐藏 - 登陆界面被加载到ui屏幕上。
我还尝试在landing view中使用navigationcontroller委托方法:navigationController:willShowViewController:animated:,但是无法找到需要的解决方案。
因此,我在其中一个子视图控制器中提供了navigationcontroller委托,并检查弹出的子控制器是否不在navigationcontroller的viewcontrollers中,使用if条件。当是的时候,我提供了navigationbar的隐藏选项。但是仍然没有达到解决方案。
在搜索过程中,有一种解决方案可以使用viewanimation来处理。我尝试了也失败了。
再次搜索,提供的解决方案是使用viewwillappear和viewwilldisappear来处理类似的问题。我很困惑,因为我的做法与建议的方法类似。即使这样,我仍然无法达到解决方案。
FYI..我正在使用Xcode 6.3,部署目标是从6.0开始的。我正在使用storyboard管理视图。
请帮助我解决这个问题... 应用程序加载时隐藏导航栏在登陆页面。但是当从子视图加载回登陆页面时,导航栏仅在登陆界面加载到控制器顶部后才会被隐藏。我确实需要像应用程序加载时一样隐藏导航栏,当子视图弹出并登陆视图加载到控制器的顶部时。