NSAttributedString Strike атрибут не работает - PullRequest
0 голосов
/ 20 октября 2018

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

В моем приложении для iOS я генерирую PDF-файл с использованием каркасов по умолчанию(UIGraphicsBeginPDFContextToFile ...).Все работает отлично, я могу изменить цвета текста, базовые стили и т. Д.

Но мне не удается нанести удар по строке.

Вот мой код:

[toBeConfirmedText addAttributes:@{ NSBaselineOffsetAttributeName: @(0), NSStrikethroughStyleAttributeName: @(NSUnderlineStyleThick), NSStrikethroughColorAttributeName: [UIColor redColor] } range:NSMakeRange(0, toBeConfirmedText.length)];

Но это не работает ...

У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 21 октября 2018

Я должен добавить комментарий, что у вашего кода нет проблем в Xcode 10. Но поскольку мне нужно добавить тестовые коды, вы можете рассматривать его как ответ.

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"myTest.pdf"];
        BOOL result =    UIGraphicsBeginPDFContextToFile(filePath, CGRectZero, nil);

        UIGraphicsBeginPDFPage();

        NSMutableAttributedString * toBeConfirmedText = [[NSMutableAttributedString alloc]initWithString:@"mytest"];

        [toBeConfirmedText addAttributes:@{ NSBaselineOffsetAttributeName: @(0), NSStrikethroughStyleAttributeName: @(NSUnderlineStyleThick), NSStrikethroughColorAttributeName: [UIColor redColor] } range:NSMakeRange(0, toBeConfirmedText.length)];

        [toBeConfirmedText drawInRect: CGRectMake(0, 0, 600, 200)];
        UIGraphicsEndPDFContext();
...