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]//文字颜色 };
二,NSParagraphStyleAttributeName
效果
三,NSBackgroundColorAttributeName段落格式
-(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]; }
效果 :(居中)
四,NSStrokeColorAttributeName背景色
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小 NSForegroundColorAttributeName:[UIColor redColor],//文字颜色 NSParagraphStyleAttributeName:paragraph,//段落格式 NSBackgroundColorAttributeName:[UIColor blueColor],//背景色 };
效果:
![]()
五,NSStrikethroughStyleAttributeName设置描边颜色,需要和NSStrokeWidthAttributeName 一起使用
NSDictionary* attrs =@{NSFontAttributeName:[UIFont fontWithName:@"AmericanTypewriter" size:30],//文本的颜色 字体 大小 NSForegroundColorAttributeName:[UIColor redColor],//文字颜色 NSParagraphStyleAttributeName:paragraph,//段落格式 //NSBackgroundColorAttributeName:[UIColor blueColor],//背景色 NSStrokeWidthAttributeName:@3, //描边宽度 NSStrokeColorAttributeName:[UIColor greenColor],//设置 描边颜色,和NSStrokeWidthAttributeName配合使用,设置了这个NSForegroundColorAttributeName就失效了 };
效果:
六,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,//删除线,数字代表线条宽度 };
效果:
七,NSShadowAttributeName下划线
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),//下划线,值为一个枚举类型,大家可以分别试试 };
效果:
八,NSObliquenessAttributeName设置阴影,他的对象是一个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 的对象 };
NSShadowNSShadow *shadow=[[NSShadow alloc]init]; shadow.shadowBlurRadius=5;//阴影的模糊程度 shadow.shadowColor=[UIColor blueColor];//阴影颜色 shadow.shadowOffset=CGSizeMake(6, 6);//阴影相对原来的偏移
效果:
倾斜
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//倾斜程度 };
效果:
这些常用的我们做了整理,还有一些没做整理。大家有兴趣可以研究,欢迎加群和大家讨论。
苹果开发群 :414319235 欢迎加入 欢迎讨论问题
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/lwjok2007/article/details/47184911