Ошибка симулятора iOS 7 - NSAttributedString не отображается
Я думаю, что нашел ошибку в симуляторе 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 Симулятор