删除状态栏而不使导航栏缩短Objective-C

时间:2017-02-13 01:46:46

标签: ios objective-c uinavigationbar statusbar

我正在创建一个应用程序,其中我有一个包含自定义背景图像的导航栏。看起来像这样。

Image of NavBar with Status bar

我想删除状态栏(因为它覆盖了Nav Bar图像的一部分),但是当我这样做时会缩短NavBar,如下所示:

Image of NavBar without Status bar

我想找到一种摆脱状态栏的方法,而不会缩短导航栏并导致导航栏中的图像全部不成比例。

以下是我用来设置NavBar背景图片的代码。

[[UINavigationBar appearance] setBackgroundImage:[[UIImage imageNamed:@"navigationBar"] stretchableImageWithLeftCapWidth:0 topCapHeight:0] forBarMetrics:UIBarMetricsDefault];

谢谢!

编辑:请注意我尝试只更改导航栏的高度,但背景图像仍然不成比例。

1 个答案:

答案 0 :(得分:1)

UIImageView *logoImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourLogoImage"]];
[logoImageView setFrame:CGRectMake(0.0f, 0.0f, 200.0f, 44.0f)];

logiImageView.contentMode = UIViewContentModeCenter;

self.navigationItem.titleView = logoImageView ;

将修复你的UIImage拉伸。

修改

self.navigationController.navigationItem.titleView = logoImageView;