iOS 文字属性字典
iOS开发过程中相信大家常常遇到当须要给字体,颜色,下划线等属性的时候參数是一个NSDictionary 字典
可是字典里面究竟有哪些键值对了
我们把经常使用的总结一下
首先我们创建一个最简单的。设置一下字体和大小
我们使用是一个NSString 的方法
- (void)drawInRect:(CGRect)rect withAttributes:(NSDictionary *)attrs
来将一个字符串打印到view上
-(void)drawRect:(CGRect)rect
{
self.backgroundColor=[UIColor whiteColor];
NSString *attrString =@"hello word"; NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30]
}; //在词典中增加文本的字体 大小 [attrString drawInRect:CGRectMake(20,120,320,200)withAttributes:attrs];
}置字体颜色
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor]//文字颜色
};
效果
![]()
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
二,NSParagraphStyleAttributeName
段落格式
-(void)drawRect:(CGRect)rect
{
NSString *attrString =@"hello word"; NSMutableParagraphStyle *paragraph=[[NSMutableParagraphStyle alloc]init];
paragraph.alignment=NSTextAlignmentCenter;//居中 NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
}; [attrString drawInRect:CGRectMake(20,120,320,200)withAttributes:attrs];
}效果 :(居中)
![]()
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
三,NSBackgroundColorAttributeName
背景色
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
NSBackgroundColorAttributeName:[UIColor blueColor],//背景色
};效果:
四,NSStrokeColorAttributeName
设置描边颜色,须要和NSStrokeWidthAttributeName 一起使用
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
//NSBackgroundColorAttributeName:[UIColor blueColor],//背景色
NSStrokeWidthAttributeName:@3, //描边宽度
NSStrokeColorAttributeName:[UIColor greenColor],//设置 描边颜色。和NSStrokeWidthAttributeName配合使用,设置了这个NSForegroundColorAttributeName就失效了
};效果:
五。NSStrikethroughStyleAttributeName
删除线
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
// NSBackgroundColorAttributeName:[UIColor blueColor],//背景色
NSStrokeWidthAttributeName:@3, //描边宽度
NSStrokeColorAttributeName:[UIColor greenColor],//设置 描边颜色,和NSStrokeWidthAttributeName配合使用,设置了这个NSForegroundColorAttributeName就失效了 NSStrikethroughStyleAttributeName:@1,//删除线,数字代表线条宽度
};效果:
![]()
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
六,NSUnderlineStyleAttributeName
下划线
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
// NSBackgroundColorAttributeName:[UIColor blueColor],//背景色
NSStrokeWidthAttributeName:@3, //描边宽度
NSStrokeColorAttributeName:[UIColor greenColor],//设置 描边颜色。和NSStrokeWidthAttributeName配合使用,设置了这个NSForegroundColorAttributeName就失效了 // NSStrikethroughStyleAttributeName:@1,//删除线,数字代表线条宽度
NSUnderlineStyleAttributeName:@(NSUnderlineStyleSingle),//下划线,值为一个枚举类型,大家能够分别试试
};效果:
七,NSShadowAttributeName
设置阴影。他的对象是一个NSShadow的对象
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
// NSBackgroundColorAttributeName:[UIColor blueColor],//背景色
NSStrokeWidthAttributeName:@3, //描边宽度
NSStrokeColorAttributeName:[UIColor greenColor],//设置 描边颜色。和NSStrokeWidthAttributeName配合使用,设置了这个NSForegroundColorAttributeName就失效了 // NSStrikethroughStyleAttributeName:@1,//删除线,数字代表线条宽度
NSUnderlineStyleAttributeName:@(NSUnderlineStyleSingle),//下划线,值为一个枚举类型,大家能够分别试试
NSShadowAttributeName:shadow,//设置阴影。复制为一个NSShadow 的对象 };NSShadow
NSShadow *shadow=[[NSShadow alloc]init];
shadow.shadowBlurRadius=5;//阴影的模糊程度
shadow.shadowColor=[UIColor blueColor];//阴影颜色
shadow.shadowOffset=CGSizeMake(6, 6);//阴影相对原来的偏移效果:
八,NSObliquenessAttributeName
倾斜
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小
NSForegroundColorAttributeName:[UIColor redColor],//文字颜色
NSParagraphStyleAttributeName:paragraph,//段落格式
// NSBackgroundColorAttributeName:[UIColor blueColor],//背景色
NSStrokeWidthAttributeName:@3, //描边宽度
NSStrokeColorAttributeName:[UIColor greenColor],//设置 描边颜色,和NSStrokeWidthAttributeName配合使用,设置了这个NSForegroundColorAttributeName就失效了 // NSStrikethroughStyleAttributeName:@1,//删除线。数字代表线条宽度
NSUnderlineStyleAttributeName:@(NSUnderlineStyleSingle),//下划线。值为一个枚举类型。大家能够分别试试
NSShadowAttributeName:shadow,//设置阴影,复制为一个NSShadow 的对象
NSObliquenessAttributeName:@1//倾斜程度
};效果:
![]()
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这些经常使用的我们做了整理,另一些没做整理。大家有兴趣能够研究,欢迎加群和大家讨论。
苹果开发群 :414319235 欢迎增加 欢迎讨论问题
iOS 文字属性字典的更多相关文章
- IOS文字属性备注
// Predefined character attributes for text. If the key is not in the dictionary, then use the defau ...
- [转] iOS文字排版(CoreText)那些事儿
文章转载自 http://www.cocoachina.com/applenews/devnews/2014/0521/8504.html iOS文字排版(CoreText)那些事儿 转自阿毛的蛋疼地 ...
- [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}
IOS数组.字典.NSNumber 新写法—— @[].@{} //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...
- html5文本框提示文字属性为placeholder
html5文本框提示文字属性为placeholder 例子: <textarea id="comment" class="commentCont" n ...
- 学习笔记TF023:下载、缓存、属性字典、惰性属性、覆盖数据流图、资源
确保目录结构存在.每次创建文件,确保父目录已经存在.确保指定路径全部或部分目录已经存在.创建沿指定路径上不存在目录. 下载函数,如果文件名未指定,从URL解析.下载文件,返回本地文件系统文件名.如果文 ...
- CSS3:文字属性
文字属性注意的细节: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- css的基本操作学习--css样式,选择器,hover,文字属性,文本属性,背景
什么是css? 通配符选择器 <head> /* *通配符选择器 匹配任何元素 */ *{ margin: 0; padding: 0; } </head> css样式有三种 ...
- day67-CSS字体属性、文字属性、背景属性、css盒子模型
1. 字体属性 1.1 文字字体:font-family可以把多个字体名称作为一个“回退”系统来保存.如果浏览器不支持第一个字体,则会尝试下一个.浏览器会使用它可识别的第一个值. * {font-fa ...
- 伪元素选择器,选择器优先级,CSS修改文字属性,CSS修改字体属性,CSS修改其他属性
伪元素选择器 未使用元素选择器的效果 第一行:伪元素选择器:选择部分内容 第二行:伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 ::selection:选择指定元 ...
随机推荐
- CF861B Which floor?
思路: 暴力枚举. 实现: #include <bits/stdc++.h> using namespace std; int n, m, x, y; bool check(int x, ...
- UVM基础之-------uvm report机制的使用
后面的例子我会继续补充: 1. 因为uvm默认定义的message格式比较长,非常不利于debug过程中的分析使用,一般情况下,开始使用uvm,都要利用uvm_report_server重新定义mes ...
- Fiddler—重复发送一个请求的设置
https://jingyan.baidu.com/article/b2c186c829a85dc46ff6ff60.html 选中一个request——>Reissue Sequentaill ...
- AMH V4.5 – 基于AMH4.2的第三方开发版
AMH V4.5[基于AMH4.2第三方开发版]重新部署了一次安装脚本,修改一系列BUG,已完美支持CENTOS7,树莓派,Fedora,Aliyun,Amazon,debian,Ubuntu,Ras ...
- Functions of the call stack
https://en.wikipedia.org/wiki/Call_stack#STACK-FRAME As noted above, the primary purpose of a call s ...
- R语言学习 - 热图绘制heatmap
生成测试数据 绘图首先需要数据.通过生成一堆的向量,转换为矩阵,得到想要的数据. data <- c(1:6, 6:1, 6:1, 1:6, (6:1)/10, (1:6)/10, (1:6)/ ...
- ThinkPHP---框架介绍
(1)什么是框架? ①框架是一堆包含了常量.方法和类等代码集合: ②半成品应用,只包含了项目开发时的底层架构,并不包含业务逻辑: ③包含一些设计模式,例如单例模式,工厂模式,AR(Active Rec ...
- 13Microsoft SQL Server SQL 高级事务,锁,游标,分区
Microsoft SQL Server SQL高级事务,锁,游标,分区 通过采用事务和锁机制,解决了数据库系统的并发性问题. 9.1数据库事务 (1)BEGIN TRANSACTION语句定义事务的 ...
- Python自学-1-基本概念问题
C语言适合开发那些追求运行速度.充分发挥硬件性能的程序. Python是用来编写应用程序的高级编程语言. Python提供了 第三方库 & 基础代码库(覆盖了网络.文件.GUI.数据库.文本等 ...
- PHP--选择排序
<?php /** * 选择排序(从小到大)的思想:每一次从待排序的数据中选出最小的,放在待排序的起始位置. */ $arr = array(23, 42, 21, 8, 4, 2, 3, 1) ...