字体属性

作者: 袏扌戒指 | 来源:发表于2016-02-24 10:46 被阅读4619次

    字体属性设置示例:

    if(color ==nil) {

    color = [NSColor redColor];

    }

    NSFont *font = button.font;

    NSMutableParagraphStyle *centredStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];

    [centredStyle setAlignment:NSCenterTextAlignment];

    NSDictionary * attrs = [NSDictionary dictionaryWithObjectsAndKeys:font,

    NSFontAttributeName,

    color,

    NSForegroundColorAttributeName,

    centredStyle,

    NSParagraphStyleAttributeName,

    nil];

    NSAttributedString * attributedString = [[NSAttributedString alloc]initWithString:[button title] attributes:attrs];

    [button setAttributedTitle:attributedString];

    以下为参数的设定

    // NSFontAttributeName                设置字体属性,默认值:字体:Helvetica(Neue) 字号:12  

    //NSForegroundColorAttributeName 设置字体颜色,取值为 UIColor,默认为黑色  

    NSDictionary *attrDict1 = @{ NSForegroundColorAttributeName: [UIColor redColor] };  

     NSDictionary *attrDict2 = @{ NSForegroundColorAttributeName: [UIColor blueColor] };  

     NSDictionary *attrDict3 = @{ NSForegroundColorAttributeName: [UIColor orangeColor] };      

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1]; 

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


    // NSForegroundColorAttributeNam      设置字体颜色,取值为 UIColor对象,默认值为黑色

    //NSForegroundColorAttributeName 设置字体颜色,取值为 UIColor,默认为黑色

    NSDictionary *attrDict1 = @{ NSForegroundColorAttributeName: [UIColor redColor] };  

     NSDictionary *attrDict2 = @{ NSForegroundColorAttributeName: [UIColor blueColor] };  

     NSDictionary *attrDict3 = @{ NSForegroundColorAttributeName: [UIColor orangeColor] };      

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2]; 

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];        


     // NSBackgroundColorAttributeName    设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色  

    NSDictionary *attrDict4 = @{ NSBackgroundColorAttributeName: [UIColor orangeColor] }; 

    NSDictionary *attrDict5 = @{ NSBackgroundColorAttributeName: [UIColor redColor] }; 

    NSDictionary *attrDict6 = @{ NSBackgroundColorAttributeName: [UIColor cyanColor] };     

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict4]; 

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict5]; 

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict6];

    NSForegroundColorAttributeName 和 NSBackgroundColorAttributeName 的低位是相等的,跟前面介绍的 textColor 一样,哪个属性最后一次赋值,就会冲掉前面的效果


    // NSLigatureAttributeName            设置连体属性,取值为NSNumber 对象(整数),0 表示没有连体字符,1 表示使用默认的连体字符  

    //NSLigatureAttributeName 设置连体属性,取值为NSNumber 对象(整数),0 表示没有连体字符,1 表示使用默认的连体字符,  //  2 表示使用所有连体符号,默认值为 1(iOS 不支持 2)      

    NSString *ligatureStr = @"flush";      

    NSDictionary *attrDict1 = @{ NSLigatureAttributeName: [NSNumber numberWithInt: 0],                                

    NSFontAttributeName: [UIFont fontWithName: @"futura" size: 30] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: ligatureStr attributes: attrDict1];      

    NSDictionary *attrDict2 = @{ NSLigatureAttributeName: @(1),                                NSFontAttributeName: [UIFont fontWithName: @"futura" size: 30]                                };  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: ligatureStr attributes: attrDict2];

    由于要展示连体字符,所以将前面使用的带有中文的字符串换成 flush

    NSLigatureAttributeName的取值为NSNumber对象,所以不能直接将一个整数值赋给它,创建 NSNumber 对象的方法有很多,或者可以简写成 @(int)


    // NSKernAttributeName                设定字符间距,取值为 NSNumber 对象(整数),正值间距加宽,负值间距变窄  

    NSDictionary *attrDict1 = @{ NSKernAttributeName: @(-3),                                NSFontAttributeName: [UIFont systemFontOfSize: 20]};  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSKernAttributeName: @(0),                                NSFontAttributeName: [UIFont systemFontOfSize: 20]};  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSKernAttributeName: @(10),                                NSFontAttributeName: [UIFont systemFontOfSize: 20]};  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


    // NSStrikethroughStyleAttributeName  设置删除线,取值为 NSNumber 对象(整数)  

    //NSStrikethroughStyleAttributeName 设置删除线,取值为 NSNumber 对象(整数),枚举常量 NSUnderlineStyle中的值  

     // NSUnderlineStyleNone  不设置删除线  

    // NSUnderlineStyleSingle 设置删除线为细单实线  

    // NSUnderlineStyleThick  设置删除线为粗单实线  

    // NSUnderlineStyleDouble 设置删除线为细双实线        

     NSDictionary *attrDict1 = @{ NSStrikethroughStyleAttributeName: @(NSUnderlineStyleSingle),                                

    NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSStrikethroughStyleAttributeName: @(NSUnderlineStyleThick),                                

    NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSStrikethroughStyleAttributeName: @(NSUnderlineStyleDouble),                                

    NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];

    取值为 0 - 7时,效果为单实线,随着值得增加,单实线逐渐变粗,取值为 9 - 15时,效果为双实线,取值越大,双实线越粗

    虽然使用了枚举常量,但是枚举常量的本质仍为整数,所以同样必须先转化为 NSNumber 才能使用

    删除线和下划线使用相同的枚举常量作为其属性值

    目前iOS中只有上面列出的4中效果,虽然我们能够在头文件中发现其他更多的取值,但是使用后没有任何效果


    // NSStrikethroughColorAttributeName  设置删除线颜色,取值为 UIColor 对象,默认值为黑色     

    NSDictionary *attrDict1 = @{ NSStrikethroughColorAttributeName: [UIColor blueColor],                                

    NSStrikethroughStyleAttributeName: @(1),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSStrikethroughColorAttributeName: [UIColor orangeColor],                                

    NSStrikethroughStyleAttributeName: @(3),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSStrikethroughColorAttributeName: [UIColor greenColor],                                

    NSStrikethroughStyleAttributeName: @(7),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSUnderlineStyleAttributeName      设置下划线,取值为 NSNumber 对象(整数),枚举常量 NSUnderlineStyle中的值,与删除线类似  

     NSDictionary *attrDict1 = @{ NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle),                                

    NSFontAttributeName: [UIFont systemFontOfSize:20] }; 

     _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSUnderlineStyleAttributeName: @(NSUnderlineStyleThick), NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSUnderlineStyleAttributeName: @(NSUnderlineStyleDouble),NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSUnderlineColorAttributeName      设置下划线颜色,取值为 UIColor 对象,默认值为黑色  

    NSDictionary *attrDict1 = @{ NSUnderlineColorAttributeName: [UIColor blueColor],NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle),NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSUnderlineColorAttributeName: [UIColor orangeColor],NSUnderlineStyleAttributeName: @(NSUnderlineStyleThick),NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSUnderlineColorAttributeName: [UIColor greenColor],NSUnderlineStyleAttributeName: @(NSUnderlineStyleDouble),NSFontAttributeName: [UIFont systemFontOfSize:20] };  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


    // NSStrokeWidthAttributeName        设置笔画宽度,取值为 NSNumber 对象(整数),负值填充效果,正值中空效果  

    NSDictionary *attrDict1 = @{ NSStrokeWidthAttributeName: @(-3),                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSStrokeWidthAttributeName: @(0),                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSStrokeWidthAttributeName: @(3),                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSStrokeColorAttributeName        填充部分颜色,不是字体颜色,取值为 UIColor 对象  

    NSDictionary *attrDict1 = @{ NSStrokeWidthAttributeName: @(-3),                                NSStrokeColorAttributeName: [UIColor orangeColor],                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

     _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSStrokeWidthAttributeName: @(0),                                NSStrokeColorAttributeName: [UIColor blueColor],                                NSFontAttributeName: [UIFont systemFontOfSize:30] }; 

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];        

     NSDictionary *attrDict3 = @{ NSStrokeWidthAttributeName: @(3),                                NSStrokeColorAttributeName: [UIColor greenColor],                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSShadowAttributeName              设置阴影属性,取值为 NSShadow 对象

    NSShadow *shadow1 = [[NSShadow alloc] init];  

    //NSShadow 对象比较简单,只有3个属性:阴影颜色,模糊半径和偏移  shadow1.shadowOffset = CGSizeMake(3, 3);//阴影偏移(X方向偏移和Y方向偏移)  

     shadow1.shadowBlurRadius = 0.5;//模糊半径  

     shadow1.shadowColor = [UIColor orangeColor];  //阴影颜色      

    NSShadow *shadow2 = [[NSShadow alloc] init];  

     shadow2.shadowOffset = CGSizeMake(3, 16);  shadow2.shadowBlurRadius = 2.5;  

     shadow2.shadowColor = [UIColor purpleColor];      

    NSShadow *shadow3 = [[NSShadow alloc] init];  

     shadow3.shadowOffset = CGSizeMake(16, 3);  

     shadow3.shadowBlurRadius = 4.0;  

     shadow3.shadowColor = [UIColor blueColor];      

    NSDictionary *attrDict1 = @{ NSShadowAttributeName: shadow1,                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSShadowAttributeName: shadow2,                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSShadowAttributeName: shadow3,                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSTextEffectAttributeName          设置文本特殊效果,取值为 NSString 对象,目前只有图版印刷效果可用:

    //NSTextEffectLetterpressStyle(凸版印刷效果),适用于iOS 7.0及以上        

    NSDictionary *attrDict1 = @{ NSTextEffectAttributeName: NSTextEffectLetterpressStyle,                                NSForegroundColorAttributeName: [UIColor grayColor],                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

     _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ //NSTextEffectAttributeName: NSTextEffectLetterpressStyle,                                NSForegroundColorAttributeName: [UIColor grayColor],                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

     _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSTextEffectAttributeName: NSTextEffectLetterpressStyle,                                NSForegroundColorAttributeName: [UIColor blueColor],                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

     _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


    // NSBaselineOffsetAttributeName      设置基线偏移值,取值为 NSNumber (float),正值上偏,负值下偏  

    NSDictionary *attrDict1 = @{ NSBaselineOffsetAttributeName: @(-10),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSBaselineOffsetAttributeName: @(0),                              NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSBaselineOffsetAttributeName: @(10),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSObliquenessAttributeName        设置字形倾斜度,取值为 NSNumber (float),正值右倾,负值左倾  

    NSDictionary *attrDict1 = @{ NSObliquenessAttributeName: @(-0.5),                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSObliquenessAttributeName: @(0),                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSObliquenessAttributeName: @(0.8),                                NSFontAttributeName: [UIFont systemFontOfSize:30] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSExpansionAttributeName          设置文本横向拉伸属性,取值为 NSNumber (float),正值横向拉伸文本,负值横向压缩文本  

    NSDictionary *attrDict1 = @{ NSExpansionAttributeName: @(-1),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSExpansionAttributeName: @(0),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSExpansionAttributeName: @(0.6),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSWritingDirectionAttributeName    设置文字书写方向,从左向右书写或者从右向左书写  

    //NSWritingDirectionAttributeName 设置文字书写方向,取值为以下组合      //@[@(NSWritingDirectionLeftToRight | NSTextWritingDirectionEmbedding)]  //@[@(NSWritingDirectionLeftToRight | NSTextWritingDirectionOverride)]  //@[@(NSWritingDirectionRightToLeft | NSTextWritingDirectionEmbedding)]  //@[@(NSWritingDirectionRightToLeft | NSTextWritingDirectionOverride)]      

    NSDictionary *attrDict1 = @{ NSWritingDirectionAttributeName: @[@(NSWritingDirectionLeftToRight | NSTextWritingDirectionEmbedding)],                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];      

    NSDictionary *attrDict2 = @{ NSWritingDirectionAttributeName: @[@(NSWritingDirectionRightToLeft | NSTextWritingDirectionOverride)],                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSWritingDirectionAttributeName: @[@(NSWritingDirectionLeftToRight | NSTextWritingDirectionOverride)],                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSVerticalGlyphFormAttributeName  设置文字排版方向,取值为 NSNumber 对象(整数),0 表示横排文本,1 表示竖排文本  

    //在 iOS 中,总是使用横排文本,0 以外的值都未定义      

    NSDictionary *attrDict1 = @{ NSVerticalGlyphFormAttributeName: @(-10),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];        

     NSDictionary *attrDict2 = @{ NSVerticalGlyphFormAttributeName: @(0),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label02.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict2];      

    NSDictionary *attrDict3 = @{ NSVerticalGlyphFormAttributeName: @(10),                                NSFontAttributeName: [UIFont systemFontOfSize:20] };  

    _label03.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict3];


     // NSLinkAttributeName                设置链接属性,点击后调用浏览器打开指定URL地址  

    链接属性点击将启动浏览器打开一个URL地址,中间用到一个代理函数,UILabel 和 UITextField 无法使用该属性,所以只能用UITextView来做示例。

    NSDictionary *attrDict1 = @{ NSLinkAttributeName: [NSURL URLWithString: @"http://www.baidu.com"],                                NSFontAttributeName: [UIFont systemFontOfSize:20] };     

    _textview01.editable = NO;        //必须禁止输入,否则点击将弹出输入键盘 

    _textview01.scrollEnabled = NO;  //可选 

    _textview01.delegate = self;      //必须设置,否则代理函数不会被回调     

    _textview01.attributedText = [[NSAttributedString alloc] initWithString: originStr attributes: attrDict1];

    代理函数

    - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{      
    NSLog(@"textView is clicked...");      
    return YES;  }

    // NSAttachmentAttributeName          设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排  

    NSTextAttachment *textAttachment01 = [[NSTextAttachment alloc] init];  

    textAttachment01.image = [UIImage imageNamed: @"10000.jpeg"];  //设置图片源  

    textAttachment01.bounds = CGRectMake(0, 0, 30, 30);          //设置图片位置和大小  

     NSMutableAttributedString *attrStr01 = [[NSMutableAttributedString alloc] initWithString: originStr];      

    [attrStr01 addAttribute: NSFontAttributeName value: [UIFont systemFontOfSize: 25] range: NSMakeRange(0, originStr.length)];  NSAttributedString *attrStr11 = [NSAttributedString attributedStringWithAttachment: textAttachment01];      

    [attrStr01 insertAttributedString: attrStr11 atIndex: 2];  //NSTextAttachment占用一个字符长度,插入后原字符串长度增加1      

    _label01.attributedText = attrStr01;        

     NSTextAttachment *textAttachment02 = [[NSTextAttachment alloc] init];  

    textAttachment02.image = [UIImage imageNamed: @"10000.jpeg"];  //设置图片源  

    textAttachment02.bounds = CGRectMake(0, -10, 30, 40);          //设置图片位置和大小  

     NSMutableAttributedString *attrStr02 = [[NSMutableAttributedString alloc] initWithString: originStr];      

    [attrStr02 addAttribute: NSFontAttributeName value: [UIFont systemFontOfSize: 25] range: NSMakeRange(0, originStr.length)];  

     NSAttributedString *attrStr12 = [NSAttributedString attributedStringWithAttachment: textAttachment02];      

    [attrStr02 insertAttributedString: attrStr12 atIndex: 6];      

    _label02.attributedText = attrStr02;      

    NSTextAttachment *textAttachment03 = [[NSTextAttachment alloc] init];  

    textAttachment03.image = [UIImage imageNamed: @"10000.jpeg"];  //设置图片源  

    textAttachment03.bounds = CGRectMake(0, -6, 50, 30);          //设置图片位置和大小  

     NSMutableAttributedString *attrStr03 = [[NSMutableAttributedString alloc] initWithString: originStr];     

    [attrStr03 addAttribute: NSFontAttributeName value: [UIFont systemFontOfSize: 25] range: NSMakeRange(0, originStr.length)];  

     NSAttributedString *attrStr13 = [NSAttributedString attributedStringWithAttachment: textAttachment03];      

    [attrStr03 insertAttributedString: attrStr13 atIndex: 8];      

    _label03.attributedText = attrStr03;


    // NSParagraphStyleAttributeName      设置文本段落排版格式,取值为 NSParagraphStyle 对象

    设置文本段落排版格式,取值为 NSParagraphStyle/NSMutableParagraphStyle 对象,可以设置如下属性:

    // alignment              对齐方式,取值枚举常量 NSTextAlignment  

    enum {        

    NSTextAlignmentLeft      = 0, 

    NSTextAlignmentCenter    = 1,

    NSTextAlignmentRight    = 2, 

    NSTextAlignmentJustified = 3,

    NSTextAlignmentNatural  = 4,}; 

     // firstLineHeadIndent    首行缩进,取值 float  

    // headIndent              缩进,取值 float  

    // tailIndent              尾部缩进,取值 float  注意距离是从行首算起

    // lineHeightMultiple      可变行高,乘因数,取值 float  // maximumLineHeight      最大行高,取值 float 

    行高倍数因子,大于1行高变小,小于1行高变小,实际上字体大小不会改变,改变的时行间距

     // minimumLineHeight      最小行高,取值 float  

    //  manimumLineHeight    最大行高,取值 float

    最大行高,若其值小于默认行高,则行间距变小,若其值大于默认行高,则不会引起任何变化

    最小行高,若其值大于默认行高,则行间距变大,若其值小于默认行高,则不会引起任何变化

     // lineSpacing            行距,取值 float 

    行距,取值为 float,可正可负,正值增加行距,负值减小行距

    // paragraphSpacing        段距,取值 float  负值无效,取0值

     // paragraphSpacingBefore  段首空间,取值 float  

     //baseWritingDirection    句子方向,取值枚举常量 NSWritingDirection 

    enum {        

    NSWritingDirectionNatural = -1,        

    NSWritingDirectionLeftToRight =  0, 

    NSWritingDirectionRightToLeft =  1 };

     // lineBreakMode          断行方式,取值枚举常量 NSLineBreakMode  

    enum {

    NSLineBreakByWordWrapping = 0, //自动换行,单词切断 

    NSLineBreakByCharWrapping,    //自动换行,字母切断 

    NSLineBreakByClipping,        //非自动换行,不切断 

    NSLineBreakByTruncatingHead,  //非自动换行,行首切断 

    NSLineBreakByTruncatingTail,  //非自动换行,行尾切断 

    NSLineBreakByTruncatingMiddle  //非自动换行,中间切断  };

     // hyphenationFactor      连字符属性,取值 0 - 1

    相关文章

      网友评论

        本文标题:字体属性

        本文链接:https://www.haomeiwen.com/subject/ffcikttx.html