2015-06-17 2 views
0

Я пытаюсь создать стиль комментария в стиле Youtube/Instagram в приложении iOS, а точнее - ярлык с именем пользователя в начале ярлыка с другим цветом и остальная часть контента впоследствии, а контент может опускать строки под именем пользователя. Например:Стиль комментариев Youtube/Instagram в UILabel

USERNAME(with different color) this is the comment content, 
and it can drop lines like that. 

мне удалось добиться того, что с помощью NSMutableAttributedString, но так как мое приложение поддерживает несколько языков с различными направлениями письма это глюки совсем плохо.
Как я могу достичь этого стиля в UILabel? Благодаря!

ответ

0

Вы можете попробовать две разные этикетки.

или вы можете использовать следующий код

NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithAttributedString: label.attributedText]; 

[text addAttribute:NSForegroundColorAttributeName 
        value:[UIColor redColor] 
        range:NSMakeRange(0, /*userNameLength*/)]; 

[label setAttributedText:text]; 
+0

Что делать вам имею в виду? – Eilon

+0

Вы можете создать два diff. UILabel каждый для userName (цвет и стиль шрифта) и для строки комментариев. –

+0

Да, но тогда я не смогу получить эффект, который я показал в примере. – Eilon

0

установить NSAttributedString в UILabel

вы можете установить специальные шрифты/цвета и т.д. для конкретного диапазона символов в NSAttributedString

+0

Как я уже говорил, я это пробовал, но так как мое приложение поддерживает разные языки и разные направления записи, этот метод глючит. – Eilon

+1

он не сработает, если вы его правильно реализуете - просто нужно больше деталей об этом «сглаживании» – Halpo

+0

Если я установил выравнивание ярлыков слева направо, например, на английском языке он хотел бы прекрасно: «Содержимое контента USERNAME ', но в праве на левый язык, который будет выглядеть как контент content USERNAME', который выглядит очень неправильно. Мне нужно, чтобы он был унифицирован. – Eilon

Смежные вопросы