Ответ 1
Попробуйте
self.navigationController.navigationBar.translucent = NO;
В вашем методе viewDidLoad
и дайте мне знать:)
Если вам нужен этот эффект для каждого ViewController, вы можете просто сделать:
[[UINavigationBar appearance] setTranslucent:NO]
Или вам нужно будет сделать это, когда вы сначала создадите контроллер навигации. Например, если контроллер навигации является контроллером корневого представления вашего приложения, вы можете просто сделать
UINavigationController *nav = (UINavigationController *)self.window.rootViewController;
nav.navigationBar.translucent = NO;
в
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Если, с другой стороны, вы создаете экземпляр этого файла через segue, который вы могли бы сделать (в соответствующем контроллере представления)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"navController"]){
UINavigationController *nav = (UINavigationController *)segue.destinationViewController;
nav.navigationBar.translucent = NO;
}
}
И так далее (если вы на самом деле копируете его из кода, это должен быть самый простой вариант).