Как изменить некоторые цвета текста в многоцветном UITextView - PullRequest
0 голосов
/ 14 мая 2019

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

1 Ответ

0 голосов
/ 14 мая 2019

Использовать метод enumerateAttribute: inRange: параметры: usingBlock:

Пример Obj-C:

NSMutableAttributedString *string = [[NSMutableAttributedString alloc]initWithString:@"Test Attributed String"];
[string addAttribute:NSStrokeColorAttributeName value:[UIColor redColor] range:NSMakeRange(3, string.length-3)];
[string enumerateAttribute:NSStrokeColorAttributeName inRange:NSMakeRange(0, string.length) options:NSAttributedStringEnumerationReverse usingBlock:^(id  _Nullable value, NSRange range, BOOL * _Nonnull stop) {
    // value is color
}];
...