Я просто хочу выделить только текст в UILabel, я пытался указать backgroundColor для метки, но выделение пустых мест также выглядит не очень хорошо. Итак, есть ли способ выделить текст без изменения размера UILabel.
Пожалуйста, проверьте изображение, здесь метки больше текста (выровнены по центру)
Спасибо.
Вам придется использовать NSAttributedString. Mike Weller 06.05.2013
@MikeWeller Можете ли вы дать более подробную информацию ... Newbee 06.05.2013
Я думаю, вы хотите, чтобы фон был четким. установить label.backgroundColor = [UIColor clearColor]; Label.highlightedTextColor = [UIColor greenColor]; Ashini 06.05.2013
вы добавляете метку в .xib или программно? MadhuP 06.05.2013
@ pm444 только xib, но я могу управлять программно. Newbee 06.05.2013
Итак, вы хотите, чтобы серый цвет был цветом фона вашего текста, а не цветом фона метки, я прав? MadhuP 06.05.2013
Большинство других решений не учитывают текст, занимающий несколько строк, но выделяют только текст, и все они довольно хакерские, включая дополнительные подпредставления.
Решение для iOS 6 и более поздних версий заключается в использовании строк с атрибутами:
MTLabel *label4 = [MTLabel labelWithFrame:CGRectMake(20, 270, 250, 60)
andText:@"This label is highlighted, has a custom line height, and adjusts font size to fit inside the label."];
[label4 setLineHeight:22];
[label4 setFont:[UIFont fontWithName:@"Helvetica" size:30]];
[label4 setAdjustSizeToFit:YES];
[label4 setMinimumFontSize:15];
[label4 setFontHighlightColor:[[UIColor orangeColor] colorWithAlphaComponent:0.5]];
[self.view addSubview:label4];
Ответ 4 · рейтинг -3 · gagan sharma
У вас может быть UIImageView, установить для него цвет фона по вашему выбору, а затем поместить на него UIlabel. Это наверняка решит вашу проблему. Вот код обходного пути: