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

标签 ios objective-c layout text

如何显示这样的文本:

Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada vulputate ullamcorper. Nunc facilisis magna vitae augue euismod, ultrices pretium est suscipit. In a lacus ullamcorper, aliquam 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 quam. Vestibulum faucibus nibh eu cursus ullamcorper.

Subtitle

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada vulputate ullamcorper. Nunc facilisis magna vitae augue euismod, ultrices pretium est suscipit. In a lacus ullamcorper, aliquam 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 quam. Vestibulum faucibus nibh eu cursus ullamcorper.

在 iOS 7 上的 UIAlertView 中?

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

谢谢。

最佳答案

不,你不能那样做。 UIAlertView 不接受属性字符串作为参数,也不能将它们用作消息。您将不得不自己重新创建 UIAlertView,或者从 CocoaControls 下载一个现有的。如果您希望能够将 UITextView 添加到警报中。

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

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."]];

关于iOS 7 显示带布局的文本(标题、段落...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21500369/

相关文章:

objective-c - 根据 objective-c 中的特定属性从核心数据中获取结果

objective-c - 为什么断言不是NSFetchRequest的属性?

css - 布局在 float 元素周围显示意外边框

ios - 免费为用户提供付费应用内购买

ios - 当我在 Swift 中从音乐库中选择一首歌曲时,为什么我的应用程序会崩溃?

ios - 是否可以消除 UIScrollView 中 UIButton 突出显示状态的延迟?

go - Fyne布局中的填充

ios - 将顶部边框添加到选定的 TabBar

ios - iOS 5-EXC_BAD_ACCESS错误

Java 定位 GUI 组件(带/不带布局管理器)