iphone开发中NSMutableAttributedString/NSAttributedString 富文本设置
2017-04-12 15:57
453 查看
一、设置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};
NSMutableAttributedString *attributedText =[[NSMutableAttributedString alloc] 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
NSParagraphStyleAttributeName;//值为NSParagraphStyle,设置段落属性,默认值为[NSParagraphStyle
defaultParagraphStyle]返回的值。
NSMutableParagraphStyle与NSParagraphStyle包括一下属性
alignment //对齐方式
firstLineHeadIndent //首行缩进
headIndent //缩进
tailIndent //尾部缩进
lineBreakMode //断行方式
maximumLineHeight //最大行高
minimumLineHeight //最低行高
lineSpacing //行距
paragraphSpacing //段距
paragraphSpacingBefore
//段首空间
baseWritingDirection
//句子方向
lineHeightMultiple
//可变行高,乘因数。
hyphenationFactor //连字符属性
NSString *const
NSForegroundColorAttributeName;//值为UIColor,字体颜色,默认为黑色。
NSString *const
NSBackgroundColorAttributeName;//值为UIColor,字体背景色,默认没有。
NSString *const
NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios
上不支持。
NSString *const
NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
NSString *const
NSStrikethroughStyleAttributeName;//值为整型NSNumber,可取值为
enum {
NSUnderlineStyleNone =
0×00,
NSUnderlineStyleSingle =
0×01,
};设置删除线。
NSString *const NSUnderlineStyleAttributeName;//同上。设置下划线。
NSString *const
NSStrokeColorAttributeName;//值为UIColor,默认值为nil,设置的属性ForegroundColor。
NSString *const
NSStrokeWidthAttributeName;//值为浮点数NSNumber。设置比画的粗细。
NSString *const
NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
NSString *const
NSVerticalGlyphFormAttributeName;//值为整型NSNumber,0为水平排版的字,1为垂直排版的
摘自:http://blog.sina.com.cn/s/blog_916e0cff0101f4gf.html
NSString *testStr = @"测试";
UILabel *testLab = ...(实例对象)
NSMutableParagraphStyle *ps = [[NSMutableParagraphStyle alloc] init];
[ps setAlignment:NSTextAlignmentCenter];
NSDictionary *attribs = @{
NSFontAttributeName: [UIFont fontWithName:@"Microsoft Yahei" size:45],
NSParagraphStyleAttributeName:ps};
NSMutableAttributedString *attributedText =[[NSMutableAttributedString alloc] 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
NSParagraphStyleAttributeName;//值为NSParagraphStyle,设置段落属性,默认值为[NSParagraphStyle
defaultParagraphStyle]返回的值。
NSMutableParagraphStyle与NSParagraphStyle包括一下属性
alignment //对齐方式
firstLineHeadIndent //首行缩进
headIndent //缩进
tailIndent //尾部缩进
lineBreakMode //断行方式
maximumLineHeight //最大行高
minimumLineHeight //最低行高
lineSpacing //行距
paragraphSpacing //段距
paragraphSpacingBefore
//段首空间
baseWritingDirection
//句子方向
lineHeightMultiple
//可变行高,乘因数。
hyphenationFactor //连字符属性
NSString *const
NSForegroundColorAttributeName;//值为UIColor,字体颜色,默认为黑色。
NSString *const
NSBackgroundColorAttributeName;//值为UIColor,字体背景色,默认没有。
NSString *const
NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios
上不支持。
NSString *const
NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
NSString *const
NSStrikethroughStyleAttributeName;//值为整型NSNumber,可取值为
enum {
NSUnderlineStyleNone =
0×00,
NSUnderlineStyleSingle =
0×01,
};设置删除线。
NSString *const NSUnderlineStyleAttributeName;//同上。设置下划线。
NSString *const
NSStrokeColorAttributeName;//值为UIColor,默认值为nil,设置的属性ForegroundColor。
NSString *const
NSStrokeWidthAttributeName;//值为浮点数NSNumber。设置比画的粗细。
NSString *const
NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
NSString *const
NSVerticalGlyphFormAttributeName;//值为整型NSNumber,0为水平排版的字,1为垂直排版的
摘自:http://blog.sina.com.cn/s/blog_916e0cff0101f4gf.html
相关文章推荐
- NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS NSMutableAttributedString/NSAttributedString 富文本设置
- iOS开发富文本制作 图片和文字/NSMutableParagraphStyle/NSMutableAttributedString
- 富文本NSMutableAttributedString的相关设置
- iOS开发--使用NSMutableAttributedString 实现富文本
- IOS NSMutableAttributedString 富文本的设置
- IOS开发-NSMutableAttributedString 富文本的使用
- NSMutableAttributedString文本样式设置以及富文本展示
- NSMutableAttributedString设置图片与文本的垂直位置
- 字符串属性 NSMutableAttributedString/NSAttributedString
- NSMutableAttributedString 富文本删除线的用法
- NSMutableAttributedString 的使用方法,设置格式
- NSMutableAttributedString设置内容的属性
- iOS使用NSMutableAttributedString实现富文本
- 带属性的字符串 NSMutableAttributedString/NSAttributedString
- iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等)