NSMutableAttributedString скрывает часть NSString - iOS - PullRequest
0 голосов
/ 28 июня 2018

У меня есть NSString с этим форматом:

<p>When: Every day except Monday at 11:45am

</p><p>Where: Main Pool</p><p><br></p><p>Get refreshed in the main pool during the warm sunny days whilst participating in our animation's fit activities. Enjoy our aqua fitness 6 times per week.<br></p>

Я использую этот код для отображения атрибутов HTML, а также для установки размера и цвета шрифта по умолчанию:

NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc] initWithData:[self.Description dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];

        __block BOOL found = NO;
        [attrStr beginEditing];
        [attrStr enumerateAttribute:NSFontAttributeName inRange:NSMakeRange(0, attrStr.length) options:0 usingBlock:^(id value, NSRange range, BOOL *stop) {
            if (value) {
                UIFont *oldFont = (UIFont *)value;
                UIFont *newFont = [oldFont fontWithSize:16];
                [attrStr addAttribute:NSFontAttributeName value:newFont range:range];
                [attrStr addAttribute:NSForegroundColorAttributeName
                               value:[UIColor darkGrayColor]
                               range:range];

                found = YES;
            }
        }]; 
        [attrStr endEditing];


cell.descLbl.attributedText = attrStr;

Эти слова не отображаются:

fitness 6 times per week.<br></p>

он показывает только некоторые странные точки в верхней части, где буквы должны быть.

Я полагаю, что проблема в том, что когда я меняю строку на юникод, длина строки меняется, и поэтому диапазон. Как я могу это исправить?

...