關(guān)于在iOS中文本的處理 <- iOS文本編程指南

iOS 平臺(tái)有多種方式讓你在app中顯示文本,以及讓用戶編輯文本。它還讓你顯示格式化的文本以及在app的視圖中的web內(nèi)容。你可以處理的資源范圍包括框架對(duì)象(例如文本視圖、文本字段、以及web視圖)和文本布局引擎(可以直接用來繪制、布局、以及其他方式管理文本)。

../Art/textpg_intro_2x.png

使用UIKit框架中的本類,你可以管理編輯菜單、實(shí)現(xiàn)自定義輸入視圖,以及在app之間復(fù)制、剪切、和粘貼數(shù)據(jù)。

注意:本文檔之前的標(biāo)題是Text, Web, and Editing Programming Guide for iOS。

概覽

在iOS中的app有很多強(qiáng)大的技術(shù)來處理文本,包括編輯文本和渲染高質(zhì)量的排版格式的文本。

UIKit框架位app提供的文本和web對(duì)象

你可以通過使用 UITextView, UITextField, 和 UILabel的實(shí)例給app的用戶界面添加預(yù)制的文本視圖、文本字段、以及標(biāo)簽。你可以用編碼或者使用Xcode中的Interface Builder編輯器來添加和設(shè)置它們。你還可以把a(bǔ)pp的視圖轉(zhuǎn)換成可以理解和顯示HTML、CSS和JavaScript內(nèi)容的小型web瀏覽器。

相關(guān)章節(jié):Displaying Text Content in iOS, Typographical Concepts, Managing Text Fields and Text Views

當(dāng)用戶編輯文本的時(shí)候,app必須管理鍵盤

當(dāng)用戶點(diǎn)擊文本字段、文本視圖、或者web視圖中的表單字段的時(shí)候,iOS會(huì)在視圖中動(dòng)態(tài)的出現(xiàn)一個(gè)鍵盤。App可以控制出現(xiàn)的鍵盤;比如,對(duì)于一個(gè)數(shù)字值的字段,app應(yīng)該選擇數(shù)字鍵盤。如果輸入的或編輯的文本被鍵盤遮擋,app應(yīng)該調(diào)整顯示文本的視圖,以便文本在鍵盤的上面。文本視圖、文本字段、或者web視圖的委托負(fù)責(zé)驗(yàn)證文本、以及在用戶關(guān)閉鍵盤的時(shí)候訪問和存儲(chǔ)編輯的文本。

相關(guān)章節(jié): Managing the Keyboard

App可以直接繪制和管理文本

在UIKit的文本視圖之下,是一個(gè)被稱為Text Kit的強(qiáng)大的布局引擎。如果你需要自定義布局過程或者需要介入該行為,你可以使用Text Kit。Text Kit是一些列類和協(xié)議,它提供高質(zhì)量的排版服務(wù),它使應(yīng)用可以存儲(chǔ)、布局、以及顯示具有精細(xì)排版所有特點(diǎn)(例如字距、連字、換行、以及對(duì)齊)的文本。

對(duì)于大多數(shù)app,你可以使用高級(jí)的文本顯示類和Text Kit來處理它們的文本。對(duì)于少數(shù)文本以及特定需求的自定義方案,你可以使用低等級(jí)的基礎(chǔ),例如來自Core Text、Core Graphics以及Core Animation框架的編程接口以及UIKit本身其他的API。

想要直接和iOS的文本輸入系統(tǒng)通信,請(qǐng)實(shí)現(xiàn)UITextInput 協(xié)議以及相關(guān)的協(xié)議和類。App還可以使用拼寫檢查和正則表達(dá)式技術(shù)。

相關(guān)章節(jié): Using Text Kit to Draw and Manage Text, Lower Level Text-Handling Technologies

對(duì)于數(shù)據(jù)的輸入和編輯,app提供的選擇范圍

UIKit框架包括用于在視圖中編輯數(shù)據(jù)以及讓數(shù)據(jù)進(jìn)入app的編程接口。自定義輸入視圖可以代替系統(tǒng)鍵盤來作為特定數(shù)據(jù)的主輸入;輸入附件視圖是一個(gè)在系統(tǒng)鍵盤(或者自定義輸入視圖)之上的自定義視圖,它使用戶能夠以特定于app的方式影響已編輯的數(shù)據(jù)。使用UIPasteboard 和相關(guān)的類,app可以在自身以及其他app的不同位置進(jìn)行拷貝、剪切、以及粘貼數(shù)據(jù)。作為復(fù)制-剪切-粘貼操作的一部分,用戶點(diǎn)擊在上下文編輯菜單上的命令;app管理這個(gè)菜單并可以添加自定義命令。

相關(guān)章節(jié): Copy, Cut, and Paste Operations, Displaying and Managing the Edit Menu, Custom Views for Data Input

還可以看

Core Graphics和Core Animation框架還有一些文本處理的功能。例如,Core Animation提供 CATextLayer類。更多關(guān)于這些功能的內(nèi)容,請(qǐng)閱讀Quartz 2D Programming Guide (Core Graphics) 和 Core Animation Programming Guide.

想要找更多的關(guān)于Core Text框架(一個(gè)適合開發(fā)高級(jí)文本處理的框架)的內(nèi)容,請(qǐng)閱讀Core Text Programming Guide 和 Core Text Reference Collection。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)容來自于 iOS文檔中 About Text Handling in iOS 部分 ios平臺(tái)提供了顯示及編輯文...
    縱橫而樂閱讀 7,166評(píng)論 2 21
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,842評(píng)論 4 61
  • 在iOS中框架是一個(gè)目錄,包含了共享資源庫,用于訪問該資源庫中儲(chǔ)存的代碼的頭文件,以及圖像、聲音文件等其他資源。共...
    wo不懂閱讀 1,610評(píng)論 3 3
  • 1月19日上午九點(diǎn)到北京,24日早上6點(diǎn)45離開北京,短短幾天北京之旅,沒有遭遇傳說中的霧霾,沒有遭遇傳說...
    行走的鹿閱讀 693評(píng)論 1 4
  • 反射概述 類的加載概述:當(dāng)程序要使用某個(gè)類,如果該類還未被加載到內(nèi)存中,則系統(tǒng)會(huì)通過加載、鏈接、初始化三步來實(shí)現(xiàn)對(duì)...
    JerichoPH閱讀 312評(píng)論 0 0

友情鏈接更多精彩內(nèi)容