码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 文字属性字典

时间:2015-08-01 14:21:15      阅读:206      评论:0      收藏:0      [点我收藏+]

标签: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]//文字颜色
                           };




效果

技术分享

二,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];
}




效果 :(居中)

技术分享

三,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,//删除线,数字代表线条宽度
                           };



效果:

技术分享


六,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//倾斜程度
                           };



效果:

技术分享


这些常用的我们做了整理,还有一些没做整理。大家有兴趣可以研究,欢迎加群和大家讨论。

苹果开发群 :414319235  欢迎加入  欢迎讨论问题

版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS 文字属性字典

标签:ios   字体   属性字典   

原文地址:http://blog.csdn.net/lwjok2007/article/details/47184911

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!