【问题标题】:navigation bar too big after adding custom background image添加自定义背景图片后导航栏太大
【发布时间】:2013-05-15 12:23:56
【问题描述】:

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

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

问题是在模拟器上,这个栏现在覆盖了一半的屏幕!并掩盖了大量内容。我试过在 Photoshop 中弄乱图像尺寸,这会有所帮助,但它们一定比弄乱和反复尝试重建更简单?!!

有没有设置导航栏大小的便捷方法?

非常感谢任何帮助!

【问题讨论】:

  • 我认为您错误地为导航栏设置了视网膜图像而不是标准图像
  • 添加自定义背景图片时,图片尺寸非常重要。请检查解决方案stackoverflow.com/questions/1692487/…

标签: ios objective-c cocoa-touch


【解决方案1】:

可能是图层光栅化问题:

检查是否有:

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

在您的代码中的某处并尝试注释这些行。

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

【讨论】:

    【解决方案2】:

    快速的解决方案是转到 NIB 文件并选择 UINavigationControler -> Size Inspector -> TurnOff Autoresizing。

    【讨论】:

    • 感谢您的回答。没有快乐我害怕。当我选择导航栏时,似乎根本没有任何属性可以调整导航栏的大小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多