在UITabBarItem中使用某些自定义字体时,我看到一些字符在底部被剪切。我也在UIButton上看到过这种情况,但找到了一个修复方法,即对UIButton进行子类化并覆盖以下方法:
UI按钮标题上的自定义字体剪切在单词的顶部
-(void)layoutSubviews
{
[super layoutSubviews];
CGRect frame = self.titleLabel.frame;
frame.size.height = self.bounds.size.height;
frame.origin.y = self.titleEdgeInsets.top;
self.titleLabel.frame = frame;
}
遗憾的是,layoutSubviews无法在UITabBarItem上覆盖。有人经历过这个问题并找到了解决办法吗?
您可以使用属性字典(setTitleTextAttributes:forState:
,继承自UIBarItem)自定义标题(包括其颜色),还可以使用setTitlePositionAdjustment(_:forBarMetrics:)
属性调整标题的位置。
这基本上是字体垂直间距的问题。您必须使用字体的属性来计算总字体高度,因为每个字体的属性都不同。您可以从苹果文档中获得字体高度的想法。字体度量