Как выровнять базовые линии текста в UILabels с разными размерами шрифта на iOS?

Мне нужно выровнять базовые линии текста в UILabels. Что я сейчас делаю, так это выравниваю базовые линии 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];

Этот код приводит к выравниванию на изображении, указанном ниже.

Misalignemnt

Как вы можете видеть, хотя базовые линии UILabel выровнены, базовые линии текста немного смещены. Как динамически выровнять базовые линии текста (поскольку размеры шрифта могут измениться во время выполнения)?

18
задан Guillaume Algis 25 September 2014 в 14:27
поделиться