我没有太多运气将我添加到 TitleView 的标签垂直居中UINavigationBar
。您可以在下面看到它的样子。
这就是我添加标签的方式:
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.text = NSLocalizedString(@"activeSessionsTitle",@"");
titleLabel.font = [Util SETTING_NEO_HEADER_FONT];
titleLabel.textColor = [UIColor whiteColor];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.textAlignment = UITextAlignmentCenter;
titleLabel.shadowColor = [UIColor colorWithRed:0.0f/255.0f green:0.0f/255.0f blue:0.0f/255.0f alpha:0.25f];
titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f);
[titleLabel sizeToFit];
super.navigationItem.titleView = titleLabel;
我认为这样做的原因是我使用的实际字体有些奇怪——因为我必须在按钮等内部进行大量的重新定位。除了导航栏之外,我已经能够解决所有地方的问题。
打开一个老问题,但我发现这非常有用。
iOS 5 允许您使用[UINavigationBar appearance]
这非常适合更改标题栏的标题视图,而无需自定义 UIView:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor],
UITextAttributeTextColor,
[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8],
UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"HelveticaNeue" size:25.0f],
UITextAttributeFont,
nil]];
有时,根据您使用的 UIFont,标题视图可能会垂直偏离。
要解决此问题,您可以使用:
[self.navigationBar setTitleVerticalPositionAdjustment:(float) forBarMetrics:UIBarMetricsDefault];
(float)
正值将 titleView 向下推,负值将 titleView 向上推。
我希望这有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)