iOS 7显示带布局的文本(标题,段落......)

时间:2014-02-01 16:11:16

标签: ios objective-c layout text

如何显示如下文字:

  

标题

     

Lorem ipsum dolor坐下来,精神上的精神。 Praesent   malesuada vulputate ullamcorper 。 Nunc facilisis magna vitae augue   euismod,ultrices pretium est suscipit。在一个lacus ullamcorper,   alquam ante at,lacinia justo。 Quisque hendrerit sem eget neque   molestie,ac ullamcorper justo molestie。 Vestibulum consectetur erat   quam,interdum fermentum augue egestas volutpat。 Quisque eleifend   porttitor tellus,non fermentum nisl。 Aliquam mauris sem,congue sed   nisl quis,cursus pharetra nisl。 Sed tincidunt,diam eu semper   interdum,felis metus sollicitudin tortor,at sodales dolor turpis at   华富嘉洛。 Vestibulum faucibus nibh eu cursus ullamcorper。

     

副标题

     

Lorem ipsum dolor坐下来,精神上的精神。 Praesent   malesuada vulputate ullamcorper。 Nunc facilisis magna vitae augue   euismod,ultrices pretium est suscipit。在一个lacus ullamcorper,   alquam ante at,lacinia justo。 Quisque hendrerit sem eget neque   molestie,ac ullamcorper justo molestie。 Vestibulum consectetur erat   quam,interdum fermentum augue egestas volutpat。 Quisque eleifend   porttitor tellus,non fermentum nisl。 Aliquam mauris sem,congue sed   nisl quis,cursus pharetra nisl。 Sed tincidunt,diam eu semper   interdum,felis metus sollicitudin tortor,at sodales dolor turpis at   华富嘉洛。 Vestibulum faucibus nibh eu cursus ullamcorper。

在iOS 7上的UIAlertView

我找到了使用UITextViewNSAttributedString执行此操作的方法,但我不想使用NSRange。我在字符串文件中有每个标题,副标题和段落。

感谢。

1 个答案:

答案 0 :(得分:3)

不,你不能这样做。 UIAlertView不接受属性字符串作为参数,也不能将其用作消息。如果您希望能够在警报中添加UIAlertView,则必须自行重新设置UITextView,或从CocoaControls下载现有版本。

话虽如此,当你弄清楚如何显示信息时,你应该知道有一种简单的方法可以将这样的属性字符串放在一起,而无需手动指定每个属性应该的范围被应用于。创建字典以容纳您将在最终字符串上使用的不同属性类型,并将一系列属性字符串串在一起。以下面演示的方式执行此操作将将所选属性应用于它们应用于的整个字符串。

NSDictionary *titleAttributes = @{NSFontAttributeName: [UIFont systemFontOfSize:24.0]};
NSDictionary *subTitleAttributes = @{NSFontAttributeName: [UIFont systemFontOfSize:20.0]};

NSMutableAttributedString *finalString = [NSMutableAttributedString new];

[finalString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Title" attributes:titleAttributes]];
[finalString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Lorem ipsum dolor sit amet, consectetur adipiscing elit."]];
[finalString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Subtitle" attributes:subTitleAttributes]];
[finalString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Lorem ipsum dolor sit amet, consectetur adipiscing elit."]];