文档章节

玩转UILabel

杭城小刘
 杭城小刘
发布于 2017/04/28 13:47
字数 946
阅读 31
收藏 0

###UILabel-富文本###

1 NSFontAttributeName(字体) 该属性所对应的值是一个 UIFont 对象。该属性用于改变一段文本的字体。如果不指定该属性,则默认为12-point Helvetica(Neue)。

2 NSParagraphStyleAttributeName(段落) 该属性所对应的值是一个 NSParagraphStyle 对象。该属性在一段文本上应用多个属性。如果不指定该属性, 则默认为 NSParagraphStyle 的defaultParagraphStyle 方法返回的默认段落属性。

3 NSForegroundColorAttributeName(字体颜色) 该属性所对应的值是一个 UIColor 对象。该属性用于指定一段文本的字体颜色。如果不指定该属性,则默认为黑色。

4 NSBackgroundColorAttributeName(字体背景色) 该属性所对应的值是一个 UIColor 对象。该属性用于指定一段文本的背景颜色。如果不指定该属性,则默认无背景色。

5 NSLigatureAttributeName(连字符) 该属性所对应的值是一个 NSNumber 对象(整数)。连体字符是指某些连在一起的字符, 它们采用单个的图元符号。0 表示没有连体字符。1 表示使用默认的连体字符。2表示使用所有连体符号。默认值为 1(注意,iOS 不支持值为 2)。

6 NSKernAttributeName(字间距) 该属性所对应的值是一个 NSNumber 对象(整数)。字母紧排指定了用于调整字距的像素点数。字母紧排的效果依赖于字体。值为 0 表示不使用字母紧排。默认值为0。

7 NSStrikethroughStyleAttributeName(删除线) 该属性所对应的值是一个 NSNumber 对象(整数)。该值指定是否在文字上加上删除线,该值参考“Underline Style Attributes”。默认值是NSUnderlineStyleNone。

8 NSUnderlineStyleAttributeName(下划线) 该属性所对应的值是一个 NSNumber 对象(整数)。该值指定是否在文字上加上下划线,该值参考“Underline Style Attributes”。默认值是NSUnderlineStyleNone。

9 NSStrokeColorAttributeName(边线颜色) 该属性所对应的值是一个 UIColor 对象。如果该属性不指定(默认),则等同于 NSForegroundColorAttributeName。 否则,指定为删除线或下划线颜色。

10 NSStrokeWidthAttributeName(边线宽度) 该属性所对应的值是一个 NSNumber 对象(小数)。该值改变描边宽度(相对于字体size 的百分比)。默认为 0,即不改变。正数只改变描边宽度。 负数同时改变文字的描边和填充宽度。例如,对于常见的空心字,这个值通常为3.0。

11 NSShadowAttributeName(阴影) 该属性所对应的值是一个 NSShadow 对象。默认为 nil。

12 NSVerticalGlyphFormAttributeName(横竖排版) 该属性所对应的值是一个 NSNumber 对象(整数)。0 表示横排文本。1 表示竖排文本。在 iOS 中,总是使用横排文本,0 以外的值都未定义。 直接上代码

- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:self.label];
}


#pragma mark - lazy load
-(UILabel *)label{
if (!_label) {
_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100,[UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 100)];
_label.backgroundColor = [UIColor grayColor];
NSMutableAttributedString *attrbuitedStr = [[NSMutableAttributedString alloc] initWithString:@"人生若只如初见,何事秋风悲画扇。\n等闲变却故人心,却道故人心易变。\n骊山语罢清宵半,泪雨霖铃终不怨。\n何如薄幸锦衣郎,比翼连枝当日愿。"];
//前7个字为红色
[attrbuitedStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 7)];
//前7个字加下划线
[attrbuitedStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(0, 7)];
//前7个字字体大小为30px
[attrbuitedStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(0, 7)];
//设置第二行前半句文本背景颜色为黄色
[attrbuitedStr addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(16, 8)];
//设置第二行前半句文本间距为10
[attrbuitedStr addAttribute:NSKernAttributeName value:@10 range:NSMakeRange(16, 8)];
//设置边框颜色
[attrbuitedStr addAttribute:NSStrokeColorAttributeName value:[UIColor greenColor] range:NSMakeRange(16, 8)];
//设置边框宽度
[attrbuitedStr addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithInt:1] range:NSMakeRange(16, 8)];
_label.attributedText = attrbuitedStr;
_label.textAlignment = NSTextAlignmentCenter;
_label.numberOfLines = 0;
[_label sizeToFit];
}
return _label;
}

© 著作权归作者所有

共有 人打赏支持
杭城小刘
粉丝 21
博文 110
码字总数 59601
作品 0
杭州
iOS工程师
私信 提问
【转载】NGUI UILabel 文字破碎

项目使用NGUI,最近碰到 Loading界面的提示文字破碎的Bug。 参考了以下文章 转自http://blog.csdn.net/huutu http://www.liveslives.com 下面先来了解一下为什么会出现这种问题。 需要了解的...

linda012518
2018/05/09
0
0
UIKit 手写控件转换大小写

// // ViewController.m // 手写转换大小写 // // Created by 非凡程序员 on 15/11/11. // Copyright (c) 2015年 Querida. All rights reserved. // #import "ViewController.h" @interface......

温暖c
2015/11/11
0
0
ios中实现对UItextField,UITextView等输入框的字数限制

转: 如何实现对UITextField ,UITextView等输入框的 字数限制 1. 如何实现对UITextField ,UITextView等输入框的 字数限制 (1)首先,肯定要 让controller 实现 UITextFieldDelegate (针对...

meilidashijie
2013/01/08
0
0
UIImageView与UIButton

应用场合 UIImageView主要用在只显示图片,没有点击事件的情况并且处理图片更加专业,动画例子: NSMutableArray *images = [NSMutableArray array]; for (int i=0; i<sum; i++) { NSBundle ...

天边那束阳光
2014/10/01
0
0
用UITextView撸一个顺畅的评论输入框

对比UITextField 继承关系: UITextField继承自UIControl,UITextView继承自UIScrollView; 输入行数 UITextView支持多行输入,可以滑屏垂直滚动,UITextField仅支持单行输入 Placeholder UI...

STzen
2018/05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

传统IDC部署网站(三)

11. 重置密码 密钥和密码都支持远程登陆, 二选一 两个都可以登陆, 密钥相对于密码来说,相对安全一点 本地登陆无法是用密钥 修改密码 root 用户 passwd root 修改普通用户 passwd usernam...

miko0089
24分钟前
2
0
日志服务与SIEM(如Splunk)集成方案实战

背景信息 目标 本文主要介绍如何让阿里云日志服务与您的SIEM方案(如Splunk)对接, 以便确保阿里云上的所有法规、审计、与其他相关日志能够导入到您的安全运维中心(SOC)中。 名词解释 LOG(S...

阿里云官方博客
28分钟前
2
0
bash特性

1.支持别名 alias 2.命令替换 $(COMMANS) 或者 `COMMAND` 3. bash支持的引号: `` :命令替换 "":弱引用,可以实现变量替换 '':强引用,不实现变量替换 4.文件名通配 globbing:(man 7 glo...

忙碌的小蜜蜂
33分钟前
2
0
以语音评测的PC端demo代码为例,讲解口语评测如何实现

本文由云+社区发表 作者:腾讯智慧教育 概述 腾讯云智聆口语评测(英文版)(Smart Oral Evaluation-English,SOE-E)是腾讯云推出的语音评测产品,是基于英语口语类教育培训场景和腾讯云的语...

腾讯云加社区
45分钟前
1
0
浅谈SpringMVC之DispatcherServlet

Spring的MVC框架是围绕一个DispatcherServlet其实就是个Servlet(它继承自HttpServlet基类)来设计的, 它支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染、文件上传等 控制器一般...

恋码之子
48分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部