无法将UINavigationBar中的图像设置为中心

时间:2015-01-03 18:24:17

标签: ios objective-c uinavigationbar

我在我的navigaton控制器中使用了两个图像。一个用于rightBarButtonItem,另一个用于titleView。我在代码中创建了两个。所以我的问题是标题视图不在中心,它更接近左侧。这是因为正确的栏按钮,我确定,我测试了它并发现了一些相关的问题,但仍然无法解决问题。

我试过[[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0.0f, 0.0f) forBarMetrics:UIBarMetricsDefault];但没有帮助我。我真的很感激任何建议。

- (void)setupLogo {

    [self setNeedsStatusBarAppearanceUpdate];

    CGRect myImage = CGRectMake(0, 0, 41, 41);
    UIImageView *myLogo = [[UIImageView alloc] initWithFrame:myImage];
    [myLogo setImage:[UIImage imageNamed:@"logo.png"]];
    myLogo.contentMode = UIViewContentModeScaleAspectFit;
    self.navigationItem.titleView = myLogo;
    [[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0.0f, 0.0f) forBarMetrics:UIBarMetricsDefault];

}

1 个答案:

答案 0 :(得分:2)

titleView位于左右项之间。它不是以导航栏为中心。

一种可能的解决方案是添加与右栏按钮项目大小相同的虚拟左栏按钮项目。这将强制titleView到中心。