本文转载至 http://www.jianshu.com/p/5d24d22f99c3

富文本
NSString *str = @"人生若只如初见,何事秋风悲画扇。\n等闲变却故人心,却道故人心易变。\n骊山语罢清宵半,泪雨霖铃终不怨。\n何如薄幸锦衣郎,比翼连枝当日愿。";
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str];

attrStr添加字体和设置字体的范围

[attrStr addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:30.0f]
range:NSMakeRange(0, 3)];

attrStr添加文字颜色

[attrStr addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]
range:NSMakeRange(17, 7)];

attrStr添加下划线

[attrStr addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInteger:NSUnderlineStyleSingle]
range:NSMakeRange(8, 7)];

段落样式

NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
//行间距
paragraph.lineSpacing = 10;
//段落间距
paragraph.paragraphSpacing = 20;
//对齐方式
paragraph.alignment = NSTextAlignmentLeft;
//指定段落开始的缩进像素
paragraph.firstLineHeadIndent = 30;
//调整全部文字的缩进像素
paragraph.headIndent = 10;

attrStr添加段落设置

[attrStr addAttribute:NSParagraphStyleAttributeName
value:paragraph
range:NSMakeRange(0, [str length])]; NSString *urlStr = @"www.南瓜瓜.com";
NSURL *url = [NSURL URLWithString:urlStr];

label添加链接
注意:label链接是可以显示出来,但是点不了,有兴趣的朋友可以试试。查资料发现textView是可以点击的,有shouldInteractWithURL代理方法回调。

[attrStr addAttribute:NSLinkAttributeName
value:url
range:NSMakeRange(42, 7)];

创建label

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(60, 100, 200, 0)];
label.backgroundColor = [UIColor lightGrayColor];
//自动换行
label.numberOfLines = 0;
//设置label的富文本
label.attributedText = attrStr;
//label高度自适应
[label sizeToFit];
[self.view addSubview:label];

设置sizeToFit之后是可以取出label的高度的,这样做label高度自适应。

CGFloat height = label.frame.size.height;
NSLog(@"height = %f",height);

UILabel(富文本)的更多相关文章

  1. UIlabel - 富文本属性

    1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSFontAttributeName : [UIFont systemFontOfSize:_fontS ...

  2. UILabel富文本 段落格式以及UILabel添加图片

    之前文本整理有一点乱,这边重新整理一下,下面是效果图,一共两个UILabel, 富文本整理: /*NSForegroundColorAttributeName设置字体颜色,对象UIColor; NSP ...

  3. swift---不同字体大小不同颜色label富文本设置

    agreeDeal = UILabel() //富文本,不同字体颜色大小和颜色 let labelString = "登录注册,表示您同意<服务条款及隐私政策>"as ...

  4. UILabel添加图片之富文本的简单应用

    若想对UILabel添加图片,那么就需要使用NSMutableAttributedString来定义先定义一个普通的label UILabel *lab = [[UILabel alloc]initW ...

  5. UILabel设置富文本后不显示省略号

    先描述一下问题,项目中用到了UILabel去显示一段富文本文字,超过label显示区域部分,省略号处理. 但是当设置好 attributedText 给label之后,显示出的效果是文字被切割了,并没 ...

  6. iOS UIlabel怎么加载html字符串 富文本的用法

    要加载html字符串,用人说,直接用webView啊!但是,有时候我们只需要显示2行文字,如此少的内容却要在复杂的UI排版中加入一个占用资源较多的webview,得不偿失.这里要说的是,我们其实可以用 ...

  7. 简易使用UILabel的富文本

    简易使用UILabel的富文本 使用效果: 源码: NSString+YX.h    NSString+YX.m // // NSString+YX.h // YXKit // // Copyrigh ...

  8. UILabel的富文本显示选项

    UILabel的富文本格式设置 1.实例化方法和使用方法 实例化方法: 使用字符串初始化 - (id)initWithString:(NSString *)str; 例: NSMutableAttri ...

  9. UILabel和UIbutton(富文本)封装方法

    /** 方法说明:设置label的富文本属性 参数说明:contentStr富文本内容 textColor字体颜色 rangeSet设置字体颜色及大小的位置 */ - (UILabel *)backf ...

随机推荐

  1. Android防止进程被第三方软件杀死

    http://blog.csdn.net/wangliang198901/article/details/12342845 http://stackoverflow.com/questions/385 ...

  2. Google+ 团队的 Android UI 测试

    https://github.com/bboyfeiyu/android-tech-frontier/tree/master/android-blog/Google%2B%20%E5%9B%A2%E9 ...

  3. mui 总结

    出框框 js内容 mui(".mui-popover").popover('toggle');         点击“弹出框框”就会弹出这个有class="mui-pop ...

  4. Eclipse 个人使用配置

    个人最喜欢使用的是eclipse,但是每次有新的版本或者是在不同的电脑上都要一遍一遍的配置.下面收集自己每次用eclipse需要注意配置的地方: 快捷键只需要修改一个code assitant 修改显 ...

  5. Linux 下hosts文件详解

    1.主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号. 公网:IP地址不方便记忆,所以又有了域名.域名只是在公网( ...

  6. device eth0 does not seem to be present, delaying initialization(转)

    vmlite虚拟机启动出错,就把这个虚拟机删除掉重新建立,系统虚拟硬盘使用之前的,启动系统后不能上网,通过ifconfig查看网卡没启动,遂启动网卡服务,但是出错,就是:device eth0 doe ...

  7. EasyUI 的 combotree 加载数据后折叠起来,并且只允许单击子节点的写法

    $(source).combotree({ url: '', width: kuan, valueField: 'id', textField: 'text', onlyLeafCheck: true ...

  8. export / import 温故而知新

    认知一: 导出的对象被修改,依然会影响原来的对象. 仔细想想这是理所当然的事(说明导出的依然是对象指向内存的地址,所以通常还需要结合深拷贝使用) /** export const state = { ...

  9. Java代码里利用Fiddler抓包调试设置

    Fiddler启动时已经将自己注册为系统的默认代理服务器,应用程序在访问网络时会去获取系统的默认代理,如果需要捕获java访问网络时的数据,只需要在启动java程序时设置代理服务器为Fiddler即可 ...

  10. 无意识(无知)-->有意识-->进入潜意识-->无意识(本能状态)

    无意识(无知)-->有意识-->进入潜意识-->无意识(本能状态) 1. 从“无意识-->有意识”的两个重要内容是“反省”+“要努力学习”,估计有80%的人无法跨过这一步 2. ...