iOS: нахождение правильного размера шрифта, подходящего для UILabel, в зависимости от его размера
у меня естьUILabel
чья собственностьtext
Я хотел бы установить абзацы текста для использованияNSString
.
У меня есть массив, в котором я храню последовательность символов, которые представляют текстовый абзац.
Абзац не обязательно должен вписыватьсяUILabel
, Если абзац не заканчивается, я перейду к следующему ярлыку.
Скажем, если бы у меня был прямоугольный размер этогоUILabel
160 X 240, как я могу определить правильный размер шрифта, чтобы заполнить эту строкуUILabel
хорошо?
Есть ли математический способ для расчета размера шрифта на основе размера прямоугольника на экране?
Например:
UILabel *aLabel = [[UIlabel alloc] initwithFrame(CGRect){{0, 0}, 160, 240}];
aLabel.font = [UIFont fontWithName:@"Courier New" size:<???>]; //(font unit in points)
NSMutableString *aString = [[NSMutableString alloc] init];
//The following tries to fit the character one by one within the label rect based on
//the width and height of the UILabel by appending String
int index = 0;
for(int x = 0; x < 240; x+=<???>) //height of label (pixel unit)
{
for(int y = 0; y < 160; y+=<???>) //width of label (pixel unit)
{
[aString appendWithString:[paragraphArray objectAtIndex:index]];
index++;
}
[aString appendWithString:@\n"]; //line break
}
aLabel.text = aString;
Как я могу быть в состоянии определить значения, где ??? (а именно размер шрифта и размер пикселя для циклов for)?
Если это не оптимальный способ выполнить такую задачу, пожалуйста, предложите мне любой другой.