无法将 UINavigationBar 中的图像设置到中心
Can't set image in UINavigationBar to the center
我在我的导航控制器中使用了两个图像。一份用于 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];
}
titleView
位于左右项目之间。它没有以导航栏为中心。
一种可能的解决方案是添加一个与右侧栏按钮项目大小相同的虚拟左侧栏按钮项目。这将迫使 titleView
居中。
我在我的导航控制器中使用了两个图像。一份用于 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];
}
titleView
位于左右项目之间。它没有以导航栏为中心。
一种可能的解决方案是添加一个与右侧栏按钮项目大小相同的虚拟左侧栏按钮项目。这将迫使 titleView
居中。