UINavigationBar titleview 图像未与 UINavigationBar 对齐

Posted

技术标签:

【中文标题】UINavigationBar titleview 图像未与 UINavigationBar 对齐【英文标题】:UINavigationBar titleview image not aligned with the UINavigationBar 【发布时间】:2013-10-30 06:28:23 【问题描述】:

我的徽标在默认 UINavigationBar 中看起来很小,所以我通过覆盖将高度增加到 67

- (CGSize)sizeThatFits:(CGSize)size

CGSize newSize = CGSizeMake(self.frame.size.width, 67);
return newSize;

我在- (void)viewDidLoad 中添加了一个大小为 266x130 的 2x 图像

self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo.png"]];

但我的标题标志与 NavigationBar 不对齐。

我只是想知道为什么标题视图在自定义高度下表现得很奇怪。将图像作为标题视图添加到标准 UINavigationBar 时,我没有遇到任何问题。

这也是为自定义高度覆盖 UINavigationBar 的正确方法吗?有没有其他方法可以做到这一点?

【问题讨论】:

:您的图像尺寸很大。调整图像大小降低图像的高度。我不确定,但试试这个 【参考方案1】:

你试过这个或类似的东西吗?

  float positionOffset = ...;
 [UINavigationBar appearance] setTitleVerticalPositionAdjustment:positionOffset forBarMetrics:UIBarMetricsDefault];

还有this,如果这不能立即奏效的话。

【讨论】:

如何获取位置偏移值? 你可以在里面放任何你想要的号码。您可以精确计算它(或不精确计算,因为它是一个偏移量,而不是您的绝对选择),或者您可以只盯着它;我猜应该是(- 10 分)。 我一直在寻找一种更标准的方式来对齐标题视图。反正暂时会试试这个。 让我知道它是否有效...在自定义导航栏方面没有什么是标准的。

以上是关于UINavigationBar titleview 图像未与 UINavigationBar 对齐的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationBar TitleView 带字幕

UINavigationBar titleView 比栏本身高

UINavigationBar titleView 用于不同的方向

防止 UINavigationItem 的 TitleView 闪烁

如何设置navigationItem.titleView 图片水平居中?

有啥方法可以覆盖 iOS 7 中的 titleView 褪色?