ios - 导航栏背景图片太大

标签 ios xcode uinavigationcontroller uinavigationbar

我正在尝试在我的设置方法中使用 setBackgroundImage: forBarMetrics: 更改导航栏的背景图像。

问题是图像不适合栏,看起来图像至少拉伸(stretch)了原始大小的两倍...

图片大小为320 x 44...

我尝试将图像重命名为@2x,但它并没有改变任何东西......

我尝试将此图像分配给 navigationItem.titleView 但 View 在边缘被切断了...

有没有人提示如何设置图像以使其不会被拉伸(stretch)?

UINavigationBar *naviBar = [self.navigationController navigationBar];
UIImage *img = [UIImage imageNamed:@"NavBar02@2x.png"];
[naviBar setBackgroundImage:img forBarMetrics:UIBarMetricsDefault];

提前致谢

最佳答案

好的,我终于明白了!

问题:导航栏采用 320 x 44 像素的图像,因为 iPhone 中的每个点都是 2 像素,如果您使用导航栏的点,您使用的图像看起来会被拉伸(stretch) 4 倍(2x 代表 y, x 坐标为 2x)。

要解决它,只需将文件扩展名@2x 添加到您的图像文件(例如 yourImgName@2x.png)。在拖入 Xcode 之前,您必须重命名它!如果您尝试在 Xcode 中重命名它,它将不起作用。

附言。不要在你的代码中包含@2x,就像这样的文件名 [UIImage imageNamed: @"yourImgName.png"]

希望对你有帮助

关于ios - 导航栏背景图片太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11576966/

相关文章:

ios - OSStatus错误-50(无效参数)AudioQueueNewInput在iOS上录制音频

ios - 如何定义预处理器宏来检查 iOS 版本

ios - 带有简单 View Controller 的导航栏

xcode - WKWebView 不显示在 Playground 上

iphone - 没有按钮的返回指令?

ios - 导航项中带有搜索栏的连续 View Controller 在动画推送和弹出时会导致 View 模糊

ios - 是否有委托(delegate)方法或其他标准方法来促进自定义 UITableView 单元格的编辑?

Swift 闭包、闭包签名和闭包等价

ios - 奇怪的 UINavigationBar 行为?

iphone - 获取特定联系人的地址簿组