Intereting Posts
поворот жест вызывает сбои в subview? визуальная студия 2015 ошибка кордовы сборки локальная установка npm не удалась Как добавить страну биллинга в Google Analytics в iOS-библиотеку unibillStoreKit.mm – необъявленный идентификатор SKPaymentTransactionStateDeferred – эксперт по unibill? Невозможно перенести элемент subview на передний как предотвратить просмотр, превышающий его родительские границы на жесте Пинч – быстро Обновление приложения iOS – ограничение новой версии на одну платформу NSTimer отвечает на uibutton Как отменить пользовательский uilabel в UITableViewCell при редактировании Плагины Cordova не планируют локальное уведомление в приложении iOS, основанном на PhoneGap Как закрыть UITableViewController путем перетаскивания (панорамирование) выбор видео с длительностью менее 10 секунд UIBezierPath не рисует гладкую кривую Цвет фона (colorWithPatternImage), не заполняющий весь вид для iPad как конвертировать индийский номер в арабский номер?

Изменить цвет первой строки UILabel

Я пытаюсь изменить UILabels первой строки UILabels . По какой-то причине это не работает. Вот мой код:

 NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithAttributedString: label.attributedText]; [text addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:[label.text rangeOfString:@"\n"];]; [label setAttributedText: text]; 

Я не вижу никаких изменений в первой строке.

Проблема здесь

 [text addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:[label.text rangeOfString:@"\n"]]; 

Он будет только цветным \n

Вам нужно установить диапазон от 0 до начала \n


Изменить: вы можете попробовать этот код (он не проверен, но должен работать)

 NSRange rangeOfNewLine = [label.text rangeOfString:@"\n"]; NSRange newRange = NSMakeRange(0, rangeOfNewLine.location); [text addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:newRange];