1 Foundation 中有屬性字符串
2 UIKit 中對屬性字符串定義一些常用的類型
NSAttributedString 一般創(chuàng)建
一般創(chuàng)建 通過 NSMutableAttributedString 添加各種屬性降传,雖然代碼比較多瓣喊,但是跟豐富一點。
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"asdfghjkl"];
[attributedString addAttribute:NSUnderlineStyleAttributeName//下劃線
value:[NSNumber numberWithInt:NSUnderlineStyleThick]//類型栅表。也可以數(shù)值 表示粗細
range:NSMakeRange(8, 8)];
[attributedString addAttribute:NSUnderlineColorAttributeName//下劃線铸鹰。顏色
value:[UIColor redColor]
range:NSMakeRange(8, 8)];
// 類似的 AttributeteName 還有很多辜昵,對同一個NSMutableAttributedString 可以添加多個屬性掉弛,具體下面解釋戒财。
NSFontAttributeName 字體 UIFont
NSForegroundColorAttributeName 字體顏色 UIColor
NSBackgroundColorAttributeName 字背景顏色 UIColor
NSUnderlineStyleAttributeName 下劃線粗細热监,類型 NSNumber
NSUnderlineColorAttributeName 下劃線顏色 UIColor
NSStrikethroughStyleAttributeName 刪除線粗細,類型 NSNumber
NSStrikethroughColorAttributeName 刪除線顏色 UIColor
NSBaselineOffsetAttributeName 上下偏移 NSNumber
NSObliquenessAttributeName 傾斜 NSNumber
NSExpansionAttributeName 橫向拉伸壓縮 NSNumber
NSStrokeWidthAttributeName 描邊寬度 NSNumber
NSStrokeColorAttributeName 描邊顏色 UIColor
NSShadowAttributeName 字符陰影 NSShadow
NSLinkAttributeName 網(wǎng)址鏈接 NSURL
NSParagraphStyleAttributeName 段落 NSParagraphStyle
以上還不夠用的話饮寞,研究更多下面的把孝扛。
未知
NSLigatureAttributeName
NSKernAttributeName
NSTextEffectAttributeName NSTextEffectLetterpressStyle
NSAttachmentAttributeName
NSWritingDirectionAttributeName
NSVerticalGlyphFormAttributeName
還有更多 文件的富文本格式 0.0 NSAttributedStringDocumentFormats
NSAttributedString 快速創(chuàng)建
與一般創(chuàng)建類似,只是把各種屬性幽崩,以key - value 形式揉成字典苦始,NSAttributedString創(chuàng)建成字符串,
UILabel *testLabel = [UILabel new];
NSDictionary *paramas = @{NSUnderlineStyleAttributeName:@(2),
NSUnderlineColorAttributeName:[UIColor redColor]
};
NSAttributedString *att = [[NSAttributedString alloc] initWithString:@"testaaa" attributes:paramas];
Foundation 中的 一些屬性字符串操作
NSAttributedString 部分
// 截取
NSAttributedString *att2 = [att1 attributedSubstringFromRange:NSMakeRange(0, 2)];
// 比較
[att1 isEqualToAttributedString att2];
// 遍歷 某種屬性的字符串 位置
[attributedString enumerateAttribute:NSFontAttributeName inRange:NSMakeRange(0, 3) options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired usingBlock:^(id _Nullable value, NSRange range, BOOL * _Nonnull stop) {
NSLog(@"- - - - - -%zi",range.location);
}];
NSMutableAttributedString 部分
// 有更多的類似字符串的 替換慌申,插入陌选,刪除的操作,不寫了
UIKit 拓展操作
NSAttributedStringDocumentFormats 水好深蹄溉。咨油。
1