注:下面一些例子我沒寫進(jìn)來匠璧,想詳細(xì)了解可以去這里看看我也不知道誰是原創(chuàng)祟滴,找了個(gè)排版好看點(diǎn)的分享一下
1.NSFontAttributeName ? ?設(shè)置字體屬性,默認(rèn)值:字體:Helvetica(Neue) 字號(hào):12
2.NSForegroundColorAttributeNam ? 設(shè)置字體顏色,取值為 UIColor對(duì)象哩掺,默認(rèn)值為黑色
注意:NSForegroundColorAttributeName設(shè)置的顏色與UILabel的textColor屬性設(shè)置的顏色在地位上是相等的,誰最后賦值涩笤,最終顯示的就是誰的顏色嚼吞。
3.NSBackgroundColorAttributeName? ? 設(shè)置字體所在區(qū)域背景顏色盒件,取值為 UIColor對(duì)象,默認(rèn)值為nil, 透明色
? ? ?1. 我并沒有關(guān)閉 NSForegroundColorAttributeName 屬性誊薄,但是在運(yùn)行結(jié)果中履恩,所有字體的顏色都變成了默認(rèn)色——黑色,這說明 NSForegroundColorAttributeName 和 NSBackgroundColorAttributeName 的低位是相等的呢蔫,跟前面介紹的 textColor 一樣切心,哪個(gè)屬性最后一次賦值,就會(huì)沖掉前面的效果片吊,若是我們把屬性代碼順序交換一下就證明上述結(jié)論了绽昏!
? ? ?2.但是textColor屬性可以與 NSBackgroundColorAttributeName 屬性疊加!雖然 textColor 在 NSFontAttributeName 之前賦值俏脊,但是由于 NSFontAttributeName 的屬性效果被NSBackgroundColorAttributeName 屬性沖掉了全谤,所以最終顯示了 textColor 的顏色。
4.NSLigatureAttributeName? ? 設(shè)置連體屬性爷贫,取值為NSNumber 對(duì)象(整數(shù))认然,0 表示沒有連體字符,1 表示使用默認(rèn)的連體字符
? ?2 表示使用所有連體符號(hào)漫萄,默認(rèn)值為 1(iOS 不支持 2)
?由于要展示連體字符卷员,所以將前面使用的帶有中文的字符串換成 flush
注意觀察字母f和l之間的變化。感覺連寫就是一個(gè)藝術(shù)字功能腾务,當(dāng)字符f和l組合使用組合符號(hào)(所謂的字形(glyph))繪制時(shí)毕骡,看起來確實(shí)更加美觀。但是并非所有的字符之間都有組合符號(hào)岩瘦,事實(shí)上未巫,只有某些字體中得某些字符的組合(如字符f和l,字符f和i等)才具有美觀的組合符號(hào)启昧。
5.NSKernAttributeName? ? 設(shè)定字符間距叙凡,取值為 NSNumber 對(duì)象(整數(shù)),正值間距加寬密末,負(fù)值間距變窄
6.NSStrikethroughStyleAttributeName? ? 設(shè)置刪除線狭姨,取值為 NSNumber 對(duì)象(整數(shù))
NSUnderlineStyle中的值
?NSUnderlineStyleNone? 不設(shè)置刪除線
?NSUnderlineStyleSingle 設(shè)置刪除線為細(xì)單實(shí)線
?NSUnderlineStyleThick? 設(shè)置刪除線為粗單實(shí)線
NSUnderlineStyleDouble 設(shè)置刪除線為細(xì)雙實(shí)線
注意:雖然使用了枚舉常量,但是枚舉常量的本質(zhì)仍為整數(shù)苏遥,所以同樣必須先轉(zhuǎn)化為 NSNumber 才能使用刪除線和下劃線使用相同的枚舉常量作為其屬性值饼拍。目前iOS中只有上面列出的4中效果,雖然我們能夠在頭文件中發(fā)現(xiàn)其他更多的取值田炭,但是使用后沒有任何效果
可以看出师抄,中文和英文刪除線的位置有所不同
另外,刪除線屬性取值除了上面的4種外教硫,其實(shí)還可以取其他整數(shù)值叨吮,有興趣的可以自行試驗(yàn)辆布,取值為 0 - 7時(shí),效果為單實(shí)線茶鉴,隨著值得增加锋玲,單實(shí)線逐漸變粗,取值為 9 - 15時(shí)涵叮,效果為雙實(shí)線惭蹂,取值越大,雙實(shí)線越粗割粮。
7.NSStrikethroughColorAttributeName? ? 設(shè)置刪除線顏色盾碗,取值為 UIColor 對(duì)象,默認(rèn)值為黑色
8.NSUnderlineStyleAttributeName? ? 設(shè)置下劃線舀瓢,取值為 NSNumber 對(duì)象(整數(shù))廷雅,枚舉常量NSUnderlineStyle中的值,與刪除線類似
9.NSUnderlineColorAttributeName? ? 設(shè)置下劃線顏色京髓,取值為 UIColor 對(duì)象航缀,默認(rèn)值為黑色
10.NSStrokeWidthAttributeName? ? ? ? 設(shè)置筆畫寬度,取值為 NSNumber 對(duì)象(整數(shù))堰怨,負(fù)值填充效果谬盐,正值中空效果
11. NSStrokeColorAttributeName? ? ? ? 填充部分顏色,不是字體顏色诚些,取值為 UIColor 對(duì)象
12. NSShadowAttributeName? ? ? ? ? ? ? 設(shè)置陰影屬性,取值為 NSShadow 對(duì)象
13. NSTextEffectAttributeName? ? ? ? ? 設(shè)置文本特殊效果皇型,取值為 NSString 對(duì)象诬烹,目前只有圖版印刷效果可用:
14. NSBaselineOffsetAttributeName? ? ? 設(shè)置基線偏移值,取值為 NSNumber (float),正值上偏弃鸦,負(fù)值下偏
15. NSObliquenessAttributeName? ? ? ? 設(shè)置字形傾斜度绞吁,取值為 NSNumber (float),正值右傾,負(fù)值左傾
16. NSExpansionAttributeName? ? ? ? ? 設(shè)置文本橫向拉伸屬性唬格,取值為 NSNumber (float),正值橫向拉伸文本家破,負(fù)值橫向壓縮文本
17. NSWritingDirectionAttributeName? ? 設(shè)置文字書寫方向,從左向右書寫或者從右向左書寫
18. NSVerticalGlyphFormAttributeName? 設(shè)置文字排版方向购岗,取值為 NSNumber 對(duì)象(整數(shù))汰聋,0 表示橫排文本,1 表示豎排文本
19. NSLinkAttributeName? ? ? ? ? ? ? ? 設(shè)置鏈接屬性喊积,點(diǎn)擊后調(diào)用瀏覽器打開指定URL地址
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"www.google.com"];
NSDictionary *linkDic = @{ NSLinkAttributeName : [NSURL URLWithString:@"http://www.google.com"] };
[str setAttributes:linkDic range:[[str string] rangeOfString:@"www.google.com"]];
_textView.attributedText = str;
20. NSAttachmentAttributeName? ? ? ? ? 設(shè)置文本附件,取值為NSTextAttachment對(duì)象,常用于文字圖片混排
21. NSParagraphStyleAttributeName? ? ? 設(shè)置文本段落排版格式烹困,取值為 NSParagraphStyle 對(duì)象