iOS开发

字体属性

2016-02-24  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读