ios – 在UINavigationBar TitleView中垂直居中标签

前端之家收集整理的这篇文章主要介绍了ios – 在UINavigationBar TitleView中垂直居中标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我没有太多运气将我正在添加到UINavigationBar上的TitleView的标签垂直居中.你可以在下面看到它的样子.

这是我添加标签的方式:

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外观],这非常适合更改标题栏的标题视图,而无需自定义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的负值.

我希望这有帮助.

猜你在找的iOS相关文章