NSMutableParagraphStyle

一、设置UILabel的属性attributedText( NSMutableAttributedString)
NSString *testStr = @"测试";
UILabel *testLab = ...(实例对象)
NSMutableParagraphStyle *ps [[NSMutableParagraphStyle alloc] init];  
[ps setAlignment:NSTextAlignmentCenter];  
NSDictionary *attribs @{
              NSFontAttributeName: [UIFont fontWithName:@"Microsoft Yahei" size:45],
              NSParagraphStyleAttributeName:ps};  
NSMutableAttributedStrin*attributedText = [[NSMutableAttributedStrinalloc] initWithString: testStr  attributes:attribs];  
testLab.attributedText attributedText; 
ps: 没有细看这段代码不过查了一下
attributedText这个属性可以实现一个label显示多段不同颜色不同字体的文字
二、设置行距、行间距(NSMutableParagraphStyle)
UITextView *lab = [LocalTexts objectAtIndex:j];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineHeightMultiple = 50.0f;
paragraphStyle.maximumLineHeight = 50.0f;
paragraphStyle.minimumLineHeight = 50.0f;
NSString *string = lab.text;
NSDictionary *ats = @{
NSFontAttributeName : [UIFont fontWithName:@"DIN Medium" size:16.0f],
NSParagraphStyleAttribut eName : paragraphStyle,
};
lab.attributedText = [[NSAttributedString alloc] initWithString:string attributes:ats];//textview 设置行间距
ps:感觉好像上面是设置行距,下面说它还有个属性是lineSpacing,效果不佳试试这个

三、设置对齐方式、折行方式
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
paragraph.alignment = NSTextAlignmentJustified;//设置对齐方式
paragraph.lineBreakMode = NSLineBreakByWordWrapping;

四、NSMutableParagraphStyle、NSAttributedString(简单介绍,详细看API

NSAttributedString的初始化方法有

-initWithString:用String初始化,并没有Attributed信息。

-initWithAttributedString:用AttributedString去初始化。

-initWithString:Attributed:用string及attribute的dictionary来初始化。

具体AttributtedString属性的键值对如下:
NSString *const NSFontAttributeName;//值为UIFont,设置字体,默认值为12-point Helvetica(Neue) 。

下面这段代码可以查看ios中可用的字体,具体那些字体长什么样,可以查看字体册工具。

NSArray *familyArray = [UIFont familyNames];
for (id family in familyArray)
{
   printf(“%s\n”,[family cStringUsingEncoding:NSUTF8StringEncoding]);
   NSArray *fontArray = [UIFont fontNamesForFamilyName:family];
   for (id font in fontArray)
   {
     printf(”    %s\n”,[font cStringUsingEncoding:NSUTF8StringEncoding]);
   }
}
NSString *const NSParagraphStyleAttribut eName;//值为NSParagraphStyle,设置段落属性,默认值为[NSParagraphStyle defaultParagraphStyle]返回的值。

NSMutableParagraphStyle与NSParagraphStyle包括一下属性
   alignment //对齐方式
   firstLineHeadIndent //首行缩进
   headIndent //缩进
   tailIndent   //尾部缩进
   lineBreakMode   //断行方式
   maximumLineHeight   //最大行高
   minimumLineHeight   //最低行高
   lineSpacing   //行距
   paragraphSpacing   //段距
   paragraphSpacingBefore   //段首空间
   baseWritingDirection   //句 子方向
   lineHeightMultiple   //可变行高,乘因数。
   hyphenationFactor //连字符属性
NSString *const NSForegroundColorAttribu teName;//值 为UI Color,字体颜色,默认为黑色。
NSString *const NSBackgroundColorAttribu teName;//值为UIColor,字体背景色,默认没有。
NSString *const NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios 上不支持。
NSString *const NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
NSString *const NSStrikethroughStyleAttr ibuteName;//值为整型NSNumber,可取值为
enum {
     NSUnderlineStyleNone = 0×00,
     NSUnderlineStyleSingle = 0×01,
};设置删除线。
NSString *const NSUnderlineStyleAttribut eName;//同上。设置下划线。
NSString *const NSStrokeColorAttributeNa me;//值为UIColor,默认值为nil,设置的属性ForegroundColor。
NSString *const NSStrokeWidthAttributeNa me;//值为浮点数NSNumber。设置比画的粗细。
NSString *const NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
NSString *const NSVerticalGlyphFormAttri buteName;//值为整型NSNumber,0为水平排版的字,1为垂直排版的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值