版本記錄
版本號 | 時間 |
---|---|
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還包括一個用于顯示基于HTML
,CSS
和JavaScript
的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 fields
和 text views
的代理消息序列,并討論了這些對象的委托執(zhí)行的各種任務(wù)右蒲。有關(guān)UITextFieldDelegate
和UITextViewDelegate
協(xié)議的方法的更多信息阀湿,請參閱UITextFieldDelegate Protocol Reference和 UITextViewDelegate 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
罩旋,CSS
和JavaScript
內(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)WKUIDelegate或WKNavigationDelegate協(xié)議的一個或多個方法的對象。您的代理方法實現(xiàn)可以響應(yīng)失敗或執(zhí)行與加載網(wǎng)頁相關(guān)的其他任務(wù)彬伦。
后記
本篇主要講述了文本編程指南之展示文本內(nèi)容滔悉,感興趣的給個贊或者關(guān)注~~~