导航控制器栏正在被切断

tra*_*uan 5 objective-c uinavigationcontroller ios ios7

如果通过选择隐藏状态栏status bar style = hide during application launch,我正在自定义uinavigation栏,如下所示

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed: @"navbar-iphone.png"]
                                       forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

当我得到这个:导航栏从顶部切断.

在此输入图像描述

在此输入图像描述

有关这种情况的任何想法以及如何解决它?

小智 0

你可以试试这个。

在应用程序启动期间。这里viewController是UINavigationController。

//set status bar hidden true.
    [[UIApplication sharedApplication]setStatusBarHidden:YES]; 

//You can set navigation bar frame to start from 0.0,0.0
    self.viewController.navigationBar.frame = CGRectOffset(self.viewController.navigationBar.frame, 0.0, -20.0);

//set the image u want.
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed: @"navbar-iphone.png"]
                                       forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

或者

[[UIApplication sharedApplication]setStatusBarHidden:YES]; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed: @"navbar-iphone.png"]
                                           forBarMetrics:UIBarMetricsDefault];
[self.viewController setWantsFullScreenLayout:YES];
Run Code Online (Sandbox Code Playgroud)