CoreText基本使用

CoreText 是用于處理文字和字體的底層技術(shù)琅催。它直接和 Core Graphics(又被稱為 Quartz)打交道虱肄。Quartz 是一個(gè) 2D 圖形渲染引擎距帅,能夠處理 OSX 和 iOS 中的圖形顯示。

Quartz 能夠直接處理字體(font)和字形(glyphs)匾寝,將文字渲染到界面上搬葬,它是基礎(chǔ)庫中唯一能夠處理字形的模塊。因此艳悔,CoreText 為了排版急凰,需要將顯示的文本內(nèi)容、位置猜年、字體抡锈、字形直接傳遞給 Quartz。相比其它 UI 組件码倦,由于 CoreText 直接和 Quartz 來交互企孩,所以它具有高速的排版效果。

UIWebView 也是處理復(fù)雜的文字排版的備選方案袁稽。對于排版勿璃,基于 CoreText 和基于 UIWebView 相比,前者有以下好處:

CoreText 占用的內(nèi)存更少推汽,渲染速度快补疑,UIWebView 占用的內(nèi)存更多,渲染速度慢歹撒。

CoreText 在渲染界面前就可以精確地獲得顯示內(nèi)容的高度(只要有了 CTFrame 即可)莲组,而 UIWebView 只有渲染出內(nèi)容后,才能獲得內(nèi)容的高度(而且還需要用 javascript 代碼來獲扰病)

CoreText 的 CTFrame 可以在后臺線程渲染锹杈,UIWebView 的內(nèi)容只能在主線程(UI 線程)渲染。

基于 CoreText 可以做更好的原生交互效果迈着,交互效果可以更細(xì)膩竭望。而 UIWebView 的交互效果都是用 javascript 來實(shí)現(xiàn)的,在交互效果上會有一些卡頓存在裕菠。例如咬清,在 UIWebView 下,一個(gè)簡單的按鈕按下效果奴潘,都無法做到原生按鈕的即時(shí)和細(xì)膩的按下效果旧烧。

當(dāng)然,基于 CoreText 的排版方案也有一些劣勢:

CoreText 渲染出來的內(nèi)容不能像 UIWebView 那樣方便地支持內(nèi)容的復(fù)制画髓。

基于 CoreText 來排版需要自己處理很多復(fù)雜邏輯掘剪,例如需要自己處理圖片與文字混排相關(guān)的邏輯,也需要自己實(shí)現(xiàn)鏈接點(diǎn)擊操作的支持奈虾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杖小,一起剝皮案震驚了整個(gè)濱河市肆汹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌予权,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浪册,死亡現(xiàn)場離奇詭異扫腺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)村象,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門笆环,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厚者,你說我怎么就攤上這事躁劣。” “怎么了库菲?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵账忘,是天一觀的道長。 經(jīng)常有香客問我熙宇,道長鳖擒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任烫止,我火速辦了婚禮蒋荚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馆蠕。我一直安慰自己期升,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布互躬。 她就那樣靜靜地躺著播赁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吨铸。 梳的紋絲不亂的頭發(fā)上行拢,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機(jī)與錄音诞吱,去河邊找鬼舟奠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛房维,可吹牛的內(nèi)容都是我干的沼瘫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咙俩,長吁一口氣:“原來是場噩夢啊……” “哼耿戚!你這毒婦竟也來了湿故?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤膜蛔,失蹤者是張志新(化名)和其女友劉穎坛猪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皂股,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡墅茉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呜呐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片就斤。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蘑辑,靈堂內(nèi)的尸體忽然破棺而出洋机,到底是詐尸還是另有隱情,我是刑警寧澤洋魂,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布绷旗,位于F島的核電站,受9級特大地震影響忧设,放射性物質(zhì)發(fā)生泄漏刁标。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一址晕、第九天 我趴在偏房一處隱蔽的房頂上張望膀懈。 院中可真熱鬧,春花似錦谨垃、人聲如沸启搂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胳赌。三九已至,卻和暖如春匙隔,著一層夾襖步出監(jiān)牢的瞬間疑苫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工纷责, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捍掺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓再膳,卻偏偏與公主長得像挺勿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子喂柒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • CoreText簡介(復(fù)制一段話吧): CoreText是用于處理文字和字體的底層技術(shù)不瓶。它直接和Core Grap...
    初光夫閱讀 766評論 0 49
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫禾嫉、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,103評論 4 62
  • iOS沒有現(xiàn)成的支持圖文混排的控件蚊丐,而要用多個(gè)基礎(chǔ)控件組合拼成圖文混排這樣復(fù)雜的排版熙参,是件很苦逼的事情。對此的解決...
    清風(fēng)沐沐閱讀 672評論 0 2
  • 處暑(8月23日)鞋诗,是二十四節(jié)氣之中的第14個(gè)節(jié)氣,此時(shí)太陽到達(dá)黃經(jīng)150°迈嘹。處暑的到來意味著進(jìn)入干支歷申月的下半...
    若拙文化閱讀 314評論 0 0
  • 做想做的事削彬,去想去的地方,幫助能幫助的人秀仲!
    汪安安閱讀 180評論 0 0