Ошибка симулятора iOS 7 - NSAttributedString не отображается

ОБНОВЛЕНИЕ: Я только что столкнулся с этой проблемой на реальном iPhone 5 под управлением iOS 7. Скоро предоставлю больше информации.

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

Проблема, кажется, является комбинацией использования NSUnderlineStyleAttributeName и NSParagraphStyleAttributeName для NSAttributedString.

Вот шаги для воспроизведения:

1) В Xcode 5 создайте новое 'Единственное Приложение Представления'. Называй как угодно.

2) В ViewController.m замените метод viewDidLoad следующим:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSMutableParagraphStyle* paragraph = [[NSMutableParagraphStyle alloc] init];
    paragraph.alignment = NSTextAlignmentCenter;

    NSAttributedString* attrStr = [[NSAttributedString alloc] initWithString:@"Lorem ipsum dolor sit" attributes:
                                   @{NSUnderlineStyleAttributeName:@1,
                                     NSParagraphStyleAttributeName:paragraph}];

    UILabel* myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 30, 0, 0)];
    myLabel.backgroundColor = [UIColor greenColor];
    myLabel.attributedText = attrStr;
    [myLabel sizeToFit];

    [self.view addSubview:myLabel];
}

3) Запустите на устройстве iOS 7, а затем снова запустите его в симуляторе iOS 7.

4) Наконец, установите цель развертывания на iOS 6 и запустите ее на симуляторе iOS 6.

Результаты должны быть следующими

Устройство iOS 7: отображается правильноiOS 7 Simulator: отображает только фон меткиiOS 6 Simulator: отображается правильно

Скриншоты:

Устройство iOS7


iOS7 Симулятор

Ответы на вопрос(0)

Ваш ответ на вопрос