微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios-simulator – iOS 7模拟器错误 – 未出现NSAttributedString

更新:我刚刚在运行iOS 7的iPhone 5上遇到过这个问题.很快就会提供更多信息.

我想我在iOS 7模拟器中发现了一个没有出现NSAttributedString的错误.如果其他人可以测试这个以确认它是一个错误,那将是很好的,然后我将向Apple提交一个错误.

问题似乎是NSAttributedString使用NSUnderlinestyleAttributeName和NSParagraphStyleAttributeName的组合.

以下是重现的步骤:

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)];
    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模拟器:仅显示标签背景
> iOS 6模拟器:正确显示

截图:
iOS7设备


iOS7模拟器

解决方法

看来这不是一个模拟器错误,而是一个iOS 7错误,因为我现在能够在设备上重现它.我在这里创建了一个新问题: iOS 7 BUG – NSAttributedString does not appear

错误似乎是使用NSUnderlinestyleAttributeName&的组合. NSParagraphStyleAttributeName作为NSAttributedString的属性.

原文地址:https://www.jb51.cc/iOS/328708.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐