我正在try 获取一段html格式的文本片段,以便在iPhone的UITableViewCell中很好地显示出来.

到目前为止,我有这样的 idea :

NSError* error;
NSString* source = @"<strong>Nice</strong> try, Phil";
NSMutableAttributedString* str = [[NSMutableAttributedString alloc] initWithData:[source dataUsingEncoding:NSUTF8StringEncoding]
                                                           options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
                                                                     NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]}
                                                              documentAttributes:nil error:&error];

这种方法很管用.我收到一些用粗体写着"不错"的短信!但是...它还将字体设置为Times Roman!这不是我想要的字体. 我想我需要在document Attributes中设置一些内容,但是,我在任何地方都找不到任何示例.

推荐答案

我知道了.有点像熊,也许不是最好的答案.

此代码将完成所有字体更改.我知道它的字体是"Times New Roman"和"Times New Roman BoldMT". 但不管怎样,这将找到粗体字体,并让我重新设置它们.我在这里的时候也可以重新设置尺寸.

我真诚地希望/认为有一种方法可以在解析时设置它,但是如果有的话,我找不到它.

    NSRange range = (NSRange){0,[str length]};
    [str enumerateAttribute:NSFontAttributeName inRange:range options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired usingBlock:^(id value, NSRange range, BOOL *stop) {
        UIFont* currentFont = value;
        UIFont *replacementFont = nil;

        if ([currentFont.fontName rangeOfString:@"bold" options:NSCaseInsensitiveSearch].location != NSNotFound) {
            replacementFont = [UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:25.0f];
        } else {
            replacementFont = [UIFont fontWithName:@"HelveticaNeue-Thin" size:25.0f];
        }

        [str addAttribute:NSFontAttributeName value:replacementFont range:range];
    }];

Html相关问答推荐

你能让Cypress测试为p—fileUpload做文件上传吗?

删除第一个列表项上的左边框

如何使用bslb设置可导航页面侧边栏的样式

如何最大限度地减少Cookie同意代码对性能的影响?

在Firefox中,使用写入模式:Vertical-LR时,不随内容扩展的css弹性项

HTML中的ARIA标签:在元素内部还是外部?(&Q;

如何使用多边形制作如图所示的背景

如果使用复选框属性更改,如何防止事件更改?

是否可以制作响应式 CSS 剪辑路径?

为 HTML5 文本字段设置最后六位正则表达式模式

网页爬虫:使用时光机器进行数据采集

将组件移动到页面底部 Angular

水平填充容器内的空间

Angular:从服务器下载 HTML 并打印

XPATH Select h2标签和

标签之间或h2标签和 标签之间的td元素,以立即为准

图像比预期宽的网格列

如何制作一个空的网格模板行来填充剩余空间?

如何清除html输入中的文本

CSS 斜角与 3 行对齐

浮动元素忽略 margin-top 属性后的块元素