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 文字属性字典的更多相关文章

  1. IOS文字属性备注

    // Predefined character attributes for text. If the key is not in the dictionary, then use the defau ...

  2. [转] iOS文字排版(CoreText)那些事儿

    文章转载自 http://www.cocoachina.com/applenews/devnews/2014/0521/8504.html iOS文字排版(CoreText)那些事儿 转自阿毛的蛋疼地 ...

  3. [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}

    IOS数组.字典.NSNumber 新写法—— @[].@{}   //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...

  4. html5文本框提示文字属性为placeholder

    html5文本框提示文字属性为placeholder 例子:  <textarea id="comment" class="commentCont"  n ...

  5. 学习笔记TF023:下载、缓存、属性字典、惰性属性、覆盖数据流图、资源

    确保目录结构存在.每次创建文件,确保父目录已经存在.确保指定路径全部或部分目录已经存在.创建沿指定路径上不存在目录. 下载函数,如果文件名未指定,从URL解析.下载文件,返回本地文件系统文件名.如果文 ...

  6. CSS3:文字属性

    文字属性注意的细节: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  7. css的基本操作学习--css样式,选择器,hover,文字属性,文本属性,背景

    什么是css? 通配符选择器 <head> /* *通配符选择器 匹配任何元素 */ *{ margin: 0; padding: 0; } </head> css样式有三种 ...

  8. day67-CSS字体属性、文字属性、背景属性、css盒子模型

    1. 字体属性 1.1 文字字体:font-family可以把多个字体名称作为一个“回退”系统来保存.如果浏览器不支持第一个字体,则会尝试下一个.浏览器会使用它可识别的第一个值. * {font-fa ...

  9. 伪元素选择器,选择器优先级,CSS修改文字属性,CSS修改字体属性,CSS修改其他属性

    伪元素选择器 未使用元素选择器的效果 第一行:伪元素选择器:选择部分内容 第二行:伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 ::selection:选择指定元 ...

随机推荐

  1. Elasticsearch--地理搜索

    目录 地理位置索引 空间搜索映射定义 示例 基于距离的排序 边界框过滤 距离的限制 任意地理形状搜索 点 包络线 多边形 多个多边形 把形状保存到索引中 地理位置索引 空间搜索映射定义 elastic ...

  2. (转)Hibernate框架基础——一对多关联关系映射

    http://blog.csdn.net/yerenyuan_pku/article/details/52746413 上一篇文章Hibernate框架基础——映射集合属性详细讲解的是值类型的集合(即 ...

  3. vue中的input使用e.target.value赋值的问题

    很久不写博客了... vue中对表单的处理,相对原生js,增加了一个双向绑定的语法糖:v-model.官方文档里有一段: v-model 会忽略所有表单元素的 value.checked.select ...

  4. SkiaSharp drawText中文乱码问题

    var fontManager = SKFontManager.Default; var emojiTypeface = fontManager.MatchCharacter('时'); var te ...

  5. CAD隐藏或显示工具条上的按钮(com接口VB语言)

    主要用到函数说明: MxDrawXCustomFunction::Mx_HideToolBarControl 隐藏或显示工具条上的按钮.详细说明如下: 参数 说明 IN LPCTSTR pszTool ...

  6. 00Extensible Markup Language

    Extensible Markup Language XML(Extensible Markup Language)可扩展标记语言是用来网络数据的组织结构,传输及存储.

  7. datagrid总条数

    1.getData var data=$("#dg").datagrid("getData");alert('总数据量:' + data.total)//注意你 ...

  8. 牛客多校Round 4

    Soved:3 rank:133 A.Ternay String 欧拉降幂一下 但是反复求phi会超时 但mod是同一个就可以记忆化一下 #include <bits/stdc++.h> ...

  9. BZOJ 2693: jzptab 莫比乌斯反演 + 积性函数 +筛法

    Code: #include<bits/stdc++.h> #define ll long long #define M 10001000 #define maxn 10200100 #d ...

  10. HDU - 2041 - 超级楼梯(dp)

    题意: 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 思路: 如何到第n阶台阶,只能从n-1和n-2台阶上去,那么只需要计算到n-1阶台阶和到n-2阶台 ...