【发布时间】:2012-04-12 05:41:54
【问题描述】:
我需要对齐 UILabel 中文本的基线。我目前正在做的是对齐包含文本的 UILabels 的基线,当两个标签中的文本字体大小不同时,这会导致对齐的 UILabels 基线但未对齐的文本基线(未对齐一小部分,但仍然错位)。标签包含在自定义 UIView 子类中,因此 self 指的是包含 UIView。
这里是相关代码
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
self.mySmallLabel.frame = CGRectMake(0,
self.bounds.size.height - self.mySmallLabel.bounds.size.height,
self.mySmallLabel.bounds.size.width,
self.mySmallLabel.bounds.size.height);
self.myBigLabel.frame = CGRectMake(self.mySmallLabel.frame.origin.x + self.mySmallLabel.bounds.size.width,
self.bounds.size.height - self.myBigLabel.bounds.size.height,
self.myBigLabel.bounds.size.width,
self.myBigLabel.bounds.size.height);
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
此代码导致下面链接的图像中的对齐。
如您所见,即使 UILabel 的基线是对齐的,文本的基线也会有一点点未对齐。如何动态对齐文本的基线(因为字体大小可能会在运行时发生变化)?
【问题讨论】: