TextKit框架詳細(xì)解析 (六) —— 文本編程指南之展示文本內(nèi)容(二)

版本記錄

版本號 時間
V1.0 2018.08.30

前言

TextKit框架是對Core Text的封裝弦撩,用簡潔的調(diào)用方式實現(xiàn)了大部分Core Text的功能嘉蕾。 TextKit是一個偏上層的開發(fā)框架边坤,在iOS7以上可用汪诉,使用它可以方便靈活處理復(fù)雜的文本布局,滿足開發(fā)中對文本布局的各種復(fù)雜需求陈醒。TextKit實際上是基于CoreText的一個上層框架,其是面向?qū)ο蟮那扑Α=酉聛韼灼覀兙鸵黄鹂匆幌逻@個框架钉跷。感興趣的看下面幾篇文章。
1. TextKit框架詳細(xì)解析 (一) —— 基本概覽和應(yīng)用場景(一)
2. TextKit框架詳細(xì)解析 (二) —— 基本概覽和應(yīng)用場景(二)
3. TextKit框架詳細(xì)解析 (三) —— 一個簡單布局示例(一)
4. TextKit框架詳細(xì)解析 (四) —— 一個簡單布局示例(二)
5. TextKit框架詳細(xì)解析 (五) —— 文本編程指南之簡介(一)

Displaying Text Content in iOS - 在iOS中展示文本內(nèi)容

iOS中的文本系統(tǒng)提供了巨大的功能肚逸,同時仍然非常易于使用爷辙。 UIKit框架包括幾個用于管理文本顯示和輸入的高級類彬坏。 UIKit還包括一個用于顯示基于HTMLCSSJavaScript的Web內(nèi)容的類膝晾。


Use Text Objects to Display Text Content - 使用文本對象顯示文本內(nèi)容

文本對象以各種字體栓始,樣式和大小顯示樣式化的格式化文本。 UIKit框架提供了三個主要類玷犹,用于在應(yīng)用程序的用戶界面中顯示此文本內(nèi)容:

  • UILabel定義了一個標(biāo)簽混滔,它顯示一個靜態(tài)文本字符串。
  • UITextField定義一個文本區(qū)域歹颓,顯示一行可編輯文本坯屿。
  • UITextView定義了一個文本視圖,該視圖顯示多行可編輯文本巍扛。

雖然這些類實際上可以支持任意數(shù)量的文本的顯示领跛,但標(biāo)簽和文本區(qū)域旨在用于相對少量的文本,通常是單行撤奸。另一方面吠昭,文本視圖旨在顯示大量文本。

從UITextView類創(chuàng)建的文本視圖對象顯示格式化為段落胧瓜,列和頁面的文本矢棚,具有精細(xì)排版的所有特征,例如字距調(diào)整府喳,連字蒲肋,復(fù)雜的換行和對齊。這些排版服務(wù)通過名為Text Kit的底層技術(shù)提供給UITextView钝满,這是一個易于使用和可擴展的強大布局引擎兜粘。有關(guān)Text Kit的詳細(xì)信息,請參閱Using Text Kit to Draw and Manage Text弯蚜。

圖1-1顯示了主要文本對象在屏幕上顯示的示例孔轴。左側(cè)的圖像顯示了幾種不同樣式的文本區(qū)域,而右側(cè)的圖像顯示了單個文本視圖碎捺。顯示在背景上的標(biāo)注是嵌入在用于顯示不同視圖的table cell內(nèi)的UILabel對象路鹰。 (這些示例來自UIKit Catalog (iOS): Creating and Customizing UIKit Controls應(yīng)用程序,它演示了UIKit中可用的許多視圖和控件收厨。)

使用可編輯的text fields 和 text views悍引,應(yīng)始終提供代理對象來管理編輯會話。text views向委托發(fā)送幾個不同的通知帽氓,以便在編輯開始時趣斤,結(jié)束時讓他們知道,并讓他們有機會覆蓋某些編輯操作黎休。例如浓领,委托可以決定當(dāng)前文本是否包含有效值玉凯,并阻止編輯會話結(jié)束(如果不包含)。當(dāng)編輯最終結(jié)束時联贩,您還可以使用委托來獲取結(jié)果文本值并更新應(yīng)用程序的數(shù)據(jù)模型漫仆。

由于它們的預(yù)期用法存在細(xì)微差別,因此每個text view的委托方法略有不同泪幌。支持UITextField類的委托實現(xiàn)UITextFieldDelegate協(xié)議的方法盲厌。類似地,支持UITextView類的委托實現(xiàn)UITextViewDelegate協(xié)議的方法祸泪。在這兩種情況下吗浩,您都不需要實現(xiàn)任何協(xié)議方法,但如果不這樣做没隘,則text fields 和 text views不那么有用懂扼。

Managing Text Fields and Text Views描述了text fieldstext views的代理消息序列,并討論了這些對象的委托執(zhí)行的各種任務(wù)右蒲。有關(guān)UITextFieldDelegateUITextViewDelegate協(xié)議的方法的更多信息阀湿,請參閱UITextFieldDelegate Protocol ReferenceUITextViewDelegate Protocol Reference


Use Web Views to Display Web Content - 使用Web視圖顯示W(wǎng)eb內(nèi)容

Web視圖對象顯示基于Web的內(nèi)容瑰妄。它是WKWebView類的一個實例陷嘴,使您能夠?qū)⑽⑿蚖eb瀏覽器的內(nèi)容集成到應(yīng)用程序的用戶界面中。WKWebView類充分利用了在iOS中實現(xiàn)Safari的相同Web技術(shù)间坐,包括對HTML罩旋,CSSJavaScript內(nèi)容的完全支持。該類還支持用戶在Safari中熟悉的許多內(nèi)置手勢眶诈。例如,您可以雙擊并捏合以放大和縮小頁面瓜饥,您可以通過拖動手指在頁面上滾動逝撬。

除了顯示內(nèi)容之外,您還可以使用Web視圖對象通過使用Web表單來收集用戶的輸入乓土。與UIKit中的其他文本類一樣宪潮,如果您的網(wǎng)頁上有可編輯的text field,則點擊該字段會彈出一個鍵盤趣苏,以便用戶可以輸入文本狡相。因為它是Web體驗中不可或缺的一部分,所以Web視圖本身可以為您管理鍵盤的顯示和移除食磕。

Web視圖通過其關(guān)聯(lián)的委托對象提供有關(guān)何時加載頁面以及是否存在任何加載錯誤的信息尽棕。 Web委托是實現(xiàn)WKUIDelegateWKNavigationDelegate協(xié)議的一個或多個方法的對象。您的代理方法實現(xiàn)可以響應(yīng)失敗或執(zhí)行與加載網(wǎng)頁相關(guān)的其他任務(wù)彬伦。

后記

本篇主要講述了文本編程指南之展示文本內(nèi)容滔悉,感興趣的給個贊或者關(guān)注~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伊诵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子回官,更是在濱河造成了極大的恐慌曹宴,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歉提,死亡現(xiàn)場離奇詭異笛坦,居然都是意外死亡,警方通過查閱死者的電腦和手機苔巨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門版扩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恋拷,你說我怎么就攤上這事资厉。” “怎么了蔬顾?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵宴偿,是天一觀的道長。 經(jīng)常有香客問我诀豁,道長窄刘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任舷胜,我火速辦了婚禮娩践,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烹骨。我一直安慰自己翻伺,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布沮焕。 她就那樣靜靜地躺著吨岭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪峦树。 梳的紋絲不亂的頭發(fā)上辣辫,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機與錄音魁巩,去河邊找鬼急灭。 笑死,一個胖子當(dāng)著我的面吹牛谷遂,可吹牛的內(nèi)容都是我干的葬馋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼点楼!你這毒婦竟也來了扫尖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤掠廓,失蹤者是張志新(化名)和其女友劉穎换怖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟀瞧,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡沉颂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了悦污。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铸屉。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖切端,靈堂內(nèi)的尸體忽然破棺而出彻坛,到底是詐尸還是另有隱情,我是刑警寧澤踏枣,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布昌屉,位于F島的核電站,受9級特大地震影響茵瀑,放射性物質(zhì)發(fā)生泄漏间驮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一马昨、第九天 我趴在偏房一處隱蔽的房頂上張望竞帽。 院中可真熱鬧,春花似錦鸿捧、人聲如沸屹篓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堆巧。三九已至,卻和暖如春饥脑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背懦冰。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工灶轰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刷钢。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓笋颤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子伴澄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

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