首页 > 代码库 > 属性字符串的一些使用
属性字符串的一些使用
1.了解NSAttributedString类
NSDictionary *attributes = @{NSForegroundColorAttributeName: [UIColor redColor],NSFontAttributeName:[UIFont fontWithName:@"Zapfino" size:16.0]};
NSString *strDisplayText = @"this is an attributed string .";
NSAttributedString *attributedText = [[NSAttributedString alloc] initWithString:strDisplayTextattributes:attributes];
self.lblInfo.attributedText = attributedText;
2.设置字间距和字体背景色
NSDictionary *attributes1 = @{NSBackgroundColorAttributeName: [UIColor orangeColor],//只有在有字的的部分有橘黄色的背景
NSFontAttributeName:[UIFont fontWithName:@"Zapfino" size:22.0],
NSKernAttributeName:@-3.0};//指定了每个字母之间的距离(数值越小字间的距离也越紧密)
NSString *strDisplayText1 = @"this is an attrubuted string.";
NSAttributedString *attrubutedText1 = [[NSAttributedString alloc] initWithString:strDisplayText1attributes:attributes1];
self.lblInfo1.attributedText = attrubutedText1;
3.设置阴影和下划线效果
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor greenColor];
shadow.shadowBlurRadius = 5.0;
shadow.shadowOffset = CGSizeMake(1.0, 1.0);
NSDictionary *attributes2 =@{NSUnderlineStyleAttributeName: @1,
NSShadowAttributeName: shadow};
NSString *strDisplayText2 = @"Shadow Font";
NSAttributedString *attributedText2 = [[NSAttributedString alloc] initWithString:strDisplayText2attributes:attributes2];
self.lblInfo2.attributedText = attributedText2;
4.为字符串不同部分设置不同效果
NSDictionary *subStrAttribute1 = @{NSForegroundColorAttributeName: [UIColor redColor],
NSStrikethroughStyleAttributeName: @2};
NSDictionary *subStrAttribute2 = @{NSForegroundColorAttributeName: [UIColor greenColor]};
NSString *strDisplayText3 = @"red and green ";
NSMutableAttributedString *attributedText3 = [[NSMutableAttributedString alloc]initWithString:strDisplayText3];
[attributedText3 setAttributes:subStrAttribute1 range:NSMakeRange(0, 3)];
[attributedText3 setAttributes:subStrAttribute2 range:NSMakeRange(8, 5)];
self.lblInfo3.attributedText = attributedText3;
5.设置段落效果
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
paragraph.alignment = NSTextAlignmentJustified;//分散式对齐
paragraph.firstLineHeadIndent = 16.0;//每一个段的文字向右缩进16个点
paragraph.paragraphSpacingBefore = 20;//设置段与段之间的距离为20个点
paragraph.lineSpacing = 5;//设置行与行之间的距离
paragraph.hyphenationFactor = 1.0;//设置每行的最后单词是否截断,在0.0-1.0之间,默认为0.0,越接近1.0单词被截断的可能性越大,
NSDictionary *attributes4 = @{NSForegroundColorAttributeName: [UIColor redColor],
NSParagraphStyleAttributeName:paragraph};
NSString *subDisplayText4 = @"ipad inspires creativity and hands-on learning with features you won‘t find in any other educationla tool - on a device that students really want to use.\nPowerful apps from the app store like itunes u and ibooks let students engage with content in interactive ways,fin information in an instant, and access an entire library wherever they go.";
// NSAttributedString *attributedText4 = [[NSAttributedString alloc] initWithString:subDisplayText4];
NSAttributedString *attributedText4 = [[NSAttributedString alloc] initWithString:subDisplayText4attributes:attributes4];
self.lblInfo4.attributedText = attributedText4;
以下的截图就是对于的效果:
好用的字体网址:http://www.ios6-fonts.com/
属性字符串的一些使用