iOS - stringWithFormat меняет часть цвета текста

Я загружаю твиты для своего приложения и хочу иметь возможность форматировать свои твиты определенным образом и цветом. Например, вот простой твит...

"@somename This is a sample tweet from twitter. - 7 hours ago"

Можно ли взять последнюю часть строки, в данном случае «7 часов назад», и изменить шрифт/цвет шрифта?

Я использую stringWithFormat: для форматирования таким образом:

tweet = [NSString stringWithFormat:@"%@%@", title, time];

Но я не уверен, смогу ли я изменить шрифт и цвет time, используя этот код.

Кто-нибудь делал это раньше?

Изменить

Я пытался сделать это, используя OHAttributedLabel от AliSoftware, но я использую ARC, и это не работает. для меня.

Есть ли стандартный способ «iOS» для этого? Может быть, с помощью NSAttributedString возможно?


person Romes    schedule 08.05.2012    source источник


Ответы (3)


Вы можете использовать основной текст. Возможно, вам поможет следующий вопрос: Можно ли установить другой шрифт в One UIlabel?

Вы должны импортировать CoreText.framework в свое приложение.

person lu yuan    schedule 08.05.2012
comment
Я добавил CoreText.framework в свое приложение. Я не хочу использовать способ Али, для этого должен быть стандартный способ NSAttributeString. Я просто не знаю, как структурировать код. - person Romes; 09.05.2012
comment
UILabel, UITextView не поддерживает NSAttributedString. Вы можете попробовать UIWebView. - person lu yuan; 10.05.2012


Шрифт/цвет шрифта не являются неотъемлемыми атрибутами типа данных NSString. Вы можете использовать два отдельных UILabels или создать небольшой UIWebView для форматирования текста.

person tronbabylove    schedule 08.05.2012