后退按钮不显示

时间:2012-04-23 16:29:12

标签: cocoa-touch uinavigationcontroller

我在我的UINavigationController上推了一个ViewController,但是我看不到'后退'按钮......导航栏是空的但是那里。

在我的故事板中,我的初始View Controller是NavigationController,我在Simulated Metrics部分中将'Top Bar'设置为'None'。当我切换到推断或导航栏时,一切正常,我看到后面的按钮带有“后退”文本。 (但是因为我出于某种原因移除了NavBar,所以我的所有视图都很难看。)

我怎样才能保留我的设计(NavBar隐藏/不存在)并且能够使用NavBar和Back按钮推送新的ViewController。 NavBar点播!

由于

2 个答案:

答案 0 :(得分:0)

找到解决方案:只需将我的AppDelegate作为UINavigationController委托并手动隐藏/显示NavBar。

在我的故事板中,导航控制器带有:

  1. 模拟指标 - >顶栏 - >无

  2. 导航控制器 - >栏可见性 - >取消选中“显示导航 栏“

  3. AppDelegate .h / .m:

    @interface AppDelegate : UIResponder <UIApplicationDelegate, UINavigationControllerDelegate>
    
    
    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
        if (something) {
            navigationController.navigationBarHidden = TRUE;
        }
    }
    
    - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
        if (somethingElse) {
            navigationController.navigationBarHidden = FALSE;
        }
    }
    

答案 1 :(得分:0)

您想要在应用程序中配置导航 在App delegate

中的ApplicationDidFinishLoading方法中试试这个
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

[window makeKeyAndVisible];
[window addSubview:navController.view];

使用此按钮后,在按钮的动作方法中更改视图

DetailViewController *ViewController = [[DetailViewController alloc] initWithNibName:nil bundle:nil];

  [self.navigationController pushNavigationController:ViewController animated:YES];