iOS 文字属性

- (void)drawInRect:(CGRect)rect withAttributes:(NSDictionary *)attrs

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






















































原文地址:https://www.cnblogs.com/lhx2015/p/4736863.html