如您所见,我的标题左侧有 217 像素,另一侧有 242 像素。
我只在 iOS 6 上遇到这个问题,标题完全以旧版本为中心。这是我制作导航栏的方式:
- (void)initNavigationBar
{
//Background
UIImage *navBarBackground = [UIImage imageNamed:@"navigationBar"];
[[UINavigationBar appearance] setBackgroundImage:navBarBackground forBarMetrics:UIBarMetricsDefault];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0)
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
//Title
NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]];
[titleBarAttributes setValue:[UIFont fontWithName:@"NeutrafaceText-Bold" size:20] forKey:UITextAttributeFont];
[titleBarAttributes setValue:[UIColor colorWithRed:17.0/255.0 green:83.0/255.0 blue:144.0/255.0 alpha:1] forKey:UITextAttributeTextShadowColor];
[titleBarAttributes setValue:[NSValue valueWithUIOffset:UIOffsetMake(0, 1.5)] forKey:UITextAttributeTextShadowOffset];
[[UINavigationBar appearance] setTitleTextAttributes:titleBarAttributes];
//Buttons
//Back
NSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithDictionary: [[UIBarButtonItem appearance] titleTextAttributesForState:UIControlStateNormal]];
[attributes setValue:[UIFont fontWithName:@"NeutrafaceText-Demi" size:14] forKey:UITextAttributeFont];
[attributes setValue:[UIColor colorWithRed:161.0/255.0 green:203.0/255.0 blue:238.0/255.0 alpha:1] forKey:UITextAttributeTextColor];
[attributes setValue:[UIColor colorWithRed:10.0/255.0 green:54.0/255.0 blue:92.0/255.0 alpha:1] forKey:UITextAttributeTextShadowColor];
[attributes setValue:[NSValue valueWithUIOffset:UIOffsetMake(0, 1.5)] forKey:UITextAttributeTextShadowOffset];
[[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState:UIControlStateNormal];
UIImage *backButtonBackground = [[UIImage imageNamed:@"backButtonBackground"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 12, 1, 12)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonBackground forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(2.5f, 0.0f) forBarMetrics:UIBarMetricsDefault];
//Right
UIImage *rightButtonBackground = [[UIImage imageNamed:@"rightButtonBackground"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 10, 1, 10)];
[[UIBarButtonItem appearance] setBackgroundImage:rightButtonBackground forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
}
我真的不知道我做错了什么,如果有人有任何想法......
其他问题,你知道我如何设置我的标题的位置(这次在 y 轴上)?
编辑:可以在这里找到一个临时解决方案。