ios 如何展示html代码,iOS中HTML文本的展示

HTML文本的显示依靠NSAttributedString这个类

NSHTMLTextDocumentType 只是NSDocumentTypeDocumentAttribute key一种可能的值。你还可以使用NSPlainTextDocumentType,NSRTFTextDocumentType或是 NSRTFDTextDocumentType。

//读取html

NSString *html = @”Wow! Now iOScan create from HTMLs!”;

NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};

NSAttributedString *attrString = [[NSAttributedString alloc] initWithData:[html dataUsingEncoding:NSUTF8StringEncoding] options:options documentAttributes:nil error:nil];

//构建html

NSAttributedString * attrString;

NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};

NSData *htmlData = [attrString dataFromRange:NSMakeRange(0, [attrString length]) documentAttributes:options error:nil];

NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];

NSAttributedString的key的意义

NSString *const NSFontAttributeName ; // 设置字体,UIFont对象,默认12-point Helvetica(Neue)

NSString *const NSParagraphStyleAttributeName ; // (重要)设置段落风格,NSParagraphStyle对象,默认是[NSParagraphStyle defaultParagraphStyle],这里可以设置很多段落格式,首行缩进之类的

NSString *const NSForegroundColorAttributeName ; // 字体颜色,UIColor对象,默认黑色

NSString *const NSBackgroundColorAttributeName ; // 背景色,UIColor对象,默认透明

NSString const NSLigatureAttributeName ; // (***)不知道干嘛用

NSString *const NSKernAttributeName ; // 字符间距,NSNumber 浮点数,默认为0

NSString *const NSStrikethroughStyleAttributeName ; // 删除线的线粗,NSNumber 整数,默认是NSUnderlineStyleNone(你真的没看错)

NSString *const NSUnderlineStyleAttributeName ; // 下划线的线粗,NSNumber 整数,默认同上,还有别的样式,例如双下划线

NSString *const NSStrokeColorAttributeName ; // 描边颜色,UIColor对象,默认同字体颜色

NSString *const NSStrokeWidthAttributeName ; // 描边,NSNumber 浮点数,正值表示镂空描边,负值标志填充描边,值表示描边线粗

NSString *const NSShadowAttributeName ; // 阴影,NSShadow对象,效果参照最后的图片

NSString *const NSTextEffectAttributeName ; // 文本风格,NSSting对象,默认为nil,官方举例NSTextEffectLetterpressStyle,其实也就只有这个风格。。。感觉有跟没有差不多

NSString const NSAttachmentAttributeName ; // (***)文本附件属性, NSTextAttachment对象,其中包含有图片,等我找到典型案例再回来重新介绍

NSString *const NSLinkAttributeName ; // 链接某个地址,NSURL(推荐)或NSString对象,默认为nil不指定任何链接。这里有详细介绍,http://www.voidcn.com/article/p-ffemiabd-vg.html

NSString *const NSBaselineOffsetAttributeName ; // 基线偏移量,NSNumber 浮点数,可以上下微调字体的位置。(适合那些返回位置信息不正确的字体)

NSString *const NSUnderlineColorAttributeName ; // 下划线颜色

NSString *const NSStrikethroughColorAttributeName ; // 删除线颜色

NSString *const NSObliquenessAttributeName ; // 斜体,NSNumber 浮点数,默认0,数值表示倾斜度

NSString *const NSExpansionAttributeName ; // 水平拉伸,NSNumber 浮点数,默认0,水平拉伸字体,高度不变。

NSString const NSWritingDirectionAttributeName ; // (***)书写方向,NSArray NSNumber(而且只能是整数0,1,2,3),没看到什么效果,找到案例再来更新 NSString *const NSVerticalGlyphFormAttributeName; // 水平或垂直显示,NSNumber(只有0:水平和1:垂直),没看到效果。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值