【发布时间】:2018-08-12 16:11:29
【问题描述】:
我正在创建一个应显示字符串列表的应用程序,该字符串是从服务器返回的,可以是 html 也可以不是。 我目前正在 UILabel 中设置文本。为此,我正在使用以下内容
NSMutableAttributedString *attributedTitleString = [[NSMutableAttributedString alloc] initWithData:[title dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
cell.label.attributedText =attributedTitleString;
当文本是 html 时,一切正常,因为字体和对齐方式在 html 中返回。当文本是普通文本时会出现此问题。字体、文本对齐方式、文本大小等不再受到尊重。
那么如何检查文本是否为 html 字符串? 如果是普通文本,我将使用以下内容:
cell.label.text =title;
我尝试在论坛上搜索,但仍然没有得到任何关于我的问题的答案。
【问题讨论】:
-
字体 pp. 不再受到尊重是什么意思?如果是纯文本,则没有这样的属性。
-
我的意思是在创建标签时,我将字体设置为 20 用于 ex 和 settextalignment center。但是,当我设置 cell.label.attributedText =attributedTitleString (from a plain text) 时,字体是如此之小并且左对齐
-
我认为这是不可能的。您只能检查您的 html 字符串是否包含 html 标签。 (以正则表达式为例)
-
如果在分配纯文本后(重新)设置属性会发生什么?
-
@AminNegm-Awad 我不想在设置 html 文本的属性文本后总是设置字体,因为这将覆盖从 html 返回的字体
标签: html ios objective-c nsattributedstring nsmutableattributedstring