【问题标题】:ios7 UINavigationBar backgroundImage is set upside downios7 UINavigationBar backgroundImage设置倒置
【发布时间】:2013-10-06 14:46:05
【问题描述】:

我正在尝试设置 UINavigationBar 背景图片:

我在 AppDelegate 中添加了:(请注意是一张图片)

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"general-top_bar_with_status.png"] forBarMetrics:UIBarMetricsDefault];

由于我不需要半透明,所以我在ViewDidLoad的ViewController中添加了:

self.navigationController.navigationBar.translucent = NO;

这是图片:

不幸的是,这就是我得到的:

如您所见,图像是向上向下的。

怎么了?

在情节提要中,我为 TopBar - 不透明导航栏设置了一个位置

【问题讨论】:

  • 对我来说,它看起来更像是向下移动(并且顶部的颜色已经填充了剩余区域)。试着把它倒过来 - 下部看起来更暗(而不是像你的图像中显示的那样亮)。
  • 第二张图不完全一样。
  • 这是一张图片。不知道那里发生了什么
  • 我在情节提要中将顶栏设置为不透明导航控制器 - 这会导致问题吗?

标签: iphone objective-c cocoa-touch ios7 uinavigationbar


【解决方案1】:

对于 iOS 7,您必须使用 320x64 大小的导航栏图片

【讨论】:

  • 在我的情况下,有 2 个问题,1. 我只使用 2x 大小,2. 我在代码中使用图像名称作为“detailNavBariPad@2x”,包括 2x。编码中的图像名称不应在其名称中包含 2x。
  • 图片的尺寸是多少?
【解决方案2】:

制作图片 2X 大小。名称为 mynavbar@2x.png

导航栏的大小等于自身的大小 + 状态栏的大小。您只能创建导航栏大小

640X88

或 640X128 用于导航栏 + 状态栏

然后

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"mynavbar.png"] forBarMetrics:UIBarMetricsDefault];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 2013-11-14
    • 1970-01-01
    • 2013-11-24
    • 2013-06-07
    • 2011-10-03
    • 2015-10-13
    • 2021-12-17
    相关资源
    最近更新 更多