无法设置模态视图控制器的导航栏颜色

时间:2015-08-18 07:07:46

标签: ios objective-c uinavigationcontroller modalviewcontroller

我在iPhone / iOS 8上展示了一个这样的模态视图控制器:

UIApplication*          application        = [UIApplication sharedApplication];
UIWindow*               window             = application.windows[0];
UIViewController*       rootViewController = window.rootViewController;
SomeViewController*     someViewController;
UINavigationController* navigationController;

someViewController   = [[SomeViewController alloc] init];
navigationController = [[UINavigationController alloc] initWithRootViewController:someViewController];

// Set everything to black.
navigationController.navigationBar.barTintColor = [UIColor blackColor];
navigationController.navigationBar.tintColor    = [UIColor blackColor];
navigationController.navigationBar.barStyle     = UIBarStyleBlack;

navigationController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[rootViewController presentViewController:navigationController animated:YES completion:nil];

SomeViewController是一个空的/新鲜的视图控制器,它什么都不做(除了还试图将导航栏设置为黑色,没有成功)。

这是在使用故事板的应用中,并且NVSlideMenuController作为窗口的根目录。

会出现视图控制器,但导航栏似乎是完全透明的,因为当我将someViewController的背景颜色设置为红色时,整个屏幕都是红色的(标题除外)。该应用程序的其余部分有一个透明的导航栏。

另一件可能相关的事情是,当应用程序进入后台(使用iPhone主页按钮)然后再次前景时,视图控制器将不再可见。

我在这里错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:3)

  

尝试以下代码,可能是您的解决方案

form_invalid