添加自定义背景图片后导航栏太大

时间:2013-05-15 12:23:56

标签: ios objective-c cocoa-touch

我正在尝试在我的应用中自定义导航栏。 导航控制器已在IB中创建。 我使用以下代码将自定义图像添加到栏中。图像为320 x 44点。 此代码位于applicationDidFinishLaunchingWithOptions中的AppDelegate中:

UIImage *navBackgroundImage = [UIImage imageNamed:@"Nav Image.png"];
    [[UINavigationBar appearance] setBackgroundImage:navBackgroundImage forBarMetrics:UIBarMetricsDefault];

问题是在模拟器上,条形现在覆盖了屏幕的一半!并涵盖了大量内容。我曾尝试在Photoshop中弄乱图像尺寸并且它有所帮助,但是它们必须比通过反复试验弄乱和重建更容易吗?!!

是否有任何便捷方法可以设置导航栏的大小?

任何帮助都非常感谢!!

2 个答案:

答案 0 :(得分:0)

快速解决方案:

转到NIB文件并选择UINavigationControler - >尺寸检验员 - > TurnOff Autoresizing。

enter image description here

希望这会对你有所帮助。

一切顺利!!!

答案 1 :(得分:0)

可能是层光栅化问题:

检查是否:

 layer.shouldRasterize = YES;
 layer.rasterizationScale = [UIScreen mainScreen].scale;

在代码中的某处,尝试评论这些行。

(这些线通常与阴影相关联,以提高显示时的性能)。