一,理解
對於以前,我們用label進行新增文字的時候,只是在 label的本身上新增,從來沒有考慮過其他的方式,今天呢,由於我看了別人的一片技術部落格,有感所以就記錄了下來,希望能夠幫助到那些有需要的人
不帶段落分析的
**如下:
nsstring
*str =
@"也許我們的心裡藏有乙個海洋,流出來的卻是兩行清淚,可我並不感到孤單,我只是簡單地喜歡書寫淒涼。曾經我們敷衍的情緒,在別人記憶的曲線裡漸行漸遠漸無言。難道曾經的悸動,只是歲月留給我乙個人的錯覺,我有點不相信自己的眼睛。我沒有哭泣,只是學會了思念而已。";
//建立富文字
nsmutableattributedstring
*attributestr = [[
nsmutableattributedstring
alloc
]initwithstring
:str]; //
設定文字的顏色
[attributestr
addattribute
:nsforegroundcolorattributename
value
:[uicolor
redcolor
] range
:nsmakerange(0
, 6)];
//設定文字的大小
[attributestr
addattribute
:nsfontattributename
value
:[uifont
systemfontofsize:26
] range
:nsmakerange(0
, 6)];
//設定文字的背景顏色
[attributestr
addattribute
:nsbackgroundcolorattributename
value
:[uicolor
yellowcolor
] range
:nsmakerange(0
, 6)];
//設定文字的下劃線
[attributestr
addattribute
:nsunderlinestyleattributename
value
:[nsnumber
numberwithinteger
:nsunderlinestylesingle
] range
:nsmakerange(0
, 6)];
//設定字元間的間距
[attributestr
addattribute
:nskernattributename
value
:@(5)
range
:nsmakerange(0
, str.
length- 1
)]; //
建立label
uilabel
*label = [[
uilabel
alloc
]initwithframe
:cgrectmake(0
, 20
, self
.view
.bounds
.size
.width+ 5
, 40
)];
//設定
label
中的字型
label.
attributedtext
= attributestr; //
設定label
中的字型允許換行
label.
numberoflines= 0
; //設定
label
的高度自適應
[label
sizetofit];
//設定
label
的背景顏色
label.
backgroundcolor
= [uicolor
greencolor];
//將label
新增到檢視上 [
self
.view
addsubview
:label];
執行結果:
下面是帶段落分析的
執行**:
nsstring
*str =
@"也許我們的心裡藏有乙個海洋,流出來的卻是兩行清淚,可我並不感到孤單,我只是簡單地喜歡書寫淒涼。
\n曾經我們敷衍的情緒,在別人記憶的曲線裡漸行漸遠漸無言。
\n難道曾經的悸動,只是歲月留給我乙個人的錯覺,我有點不相信自己的眼睛。
\n我沒有哭泣,只是學會了思念而已。";
//建立富文字
nsmutableattributedstring
*attributestr = [[
nsmutableattributedstring
alloc
]initwithstring
:str]; //
建立段落的樣式
nsmutableparagraphstyle
*paragraph = [[
nsmutableparagraphstyle
alloc
]init];
//設定段落的行間距
paragraph.
linespacing
= 10;
//設定段落之間的間距
paragraph.
paragraphspacing
= 15;
//設定首行縮緊的字數
paragraph.
firstlineheadindent
= 30;
//設定全部縮排
paragraph.
headindent
= 30;
//設定對齊方式
paragraph.
alignment
= nstextalignmentleft;
//新增段落設定
[attributestr
addattribute
:nsparagraphstyleattributename
value
:paragraph
range
:nsmakerange(0
, str.
length
)]; //
建立label
uilabel
*label = [[
uilabel
alloc
]initwithframe
:cgrectmake(0
, 20
, self
.view
.bounds
.size
.width+ 5
, 40
)];
//設定
label
中的字型
label.
attributedtext
= attributestr; //
設定label
中的字型允許換行
label.
numberoflines= 0
; //設定
label
的高度自適應
[label
sizetofit];
//設定
label
的背景顏色
label.
backgroundcolor
= [uicolor
greencolor];
//將label
新增到檢視上 [
self
.view
addsubview
:label];
執行結果:
簡化富文字的使用
簡化富文字的使用 1.如果不進行任何的封裝,直接使用富文字會破壞可讀性,可讀性極差 2.本例子提供了維護性較強的封裝 3.本人僅僅實現了兩種富文字的例項 設定文字字型以及文字屬性 剩下的可以參考本人的實現來進行擴充套件 4.每一種富文字屬性都應該抽象成乙個類,而通過統一的介面進行管理 本例子中,僅僅...
swift 富文字文字的簡單使用
如果需要乙個字元前後文字顏色不一樣,也就是說乙個字串分成多個部分,每個部分的屬性 顏色,字型,大小等 不一樣,那就是富文字文字 nsmutableattributedstring 直接上 了 let str 今宵杯中映著明月 物華天寶人傑地靈 let attrstr nsmutableattribu...
vue富文字使用詳解
一 cnpm 安裝 vue quill editor cnpm install vue quill editor二 在main.js中引入import vuequilleditor from vue quill editor require styles 引入樣式 import quill dist...