#14 研究 Text View(hw#2–7)

UITextView

UITextView支援使用自訂樣式資訊顯示文本,也支援文字編輯。 我們通常使用Text View 來顯示多行文本,例如在顯示大型文本文件的正文時。

此類別透過使用 attributeText 屬性支援多種文字樣式。 (iOS 6 之前的 iOS 版本不支援樣式文字。)為此屬性設定值會導致 Text View 使用屬性字串中提供的樣式資訊。 仍然可以使用 font、textColor 和 textAlignment 屬性來設定樣式屬性,但這些屬性適用於文字檢視中的所有文字。 建議使用Text View(而不是 UIWebView 物件)在應用程式中顯示純文字和富文本。

Text:Plain 與 Attributed

Plain Text(純文字):

這是最簡單的文字選項,只能設定單一風格的文字。你可以設定字型、大小、顏色等基本的文字屬性。適用於簡單的文字顯示,不需要複雜的格式或樣式。

Attributed Text(屬性文字):

這種選項允許你使用 NSAttributedString 來設定文字的不同屬性。NSAttributedString 是一個強大的類別,它允許你為文字的不同範圍應用不同的樣式,如不同的字型、大小、顏色、下劃線等。適用於需要更豐富樣式和格式的文字,例如顯示帶有超連結、不同顏色或字型的文字。

這裡我們選擇 Attributed Text 來對歌詞設定顏色跟排版。之後在下方屬性設定面版,可以圈選文字後,進行設定,前5個是排版,再來是文字的前景色與背景色。

把歌詞貼到輸入區中編輯,按 option(Alt)+Enter 可以換行。

Allows Editing Attributes

勾 Allows Editing Attributes,圈選文字後,上面的選單會多一個 Format 選項,可以設定粗體,斜體,下劃線。

Find & Replace

勾 Find & Replace,圈選文字後,上面的選單會多一個 Find Selection 選項

點擊後,下方會出現功能列,點擊放大鏡的按鈕,就可以使用搜尋與取代的功能。

Behavior

有 Editable 編輯功能,和 Selectable 可不可以被點選,如果要設定 Data Detectors 需要先取消勾選Editable、勾選Selectable。

Data Detectors

這個選項用於啟用或禁用文本中的資料檢測器。資料檢測器是用於自動偵測特定類型的資料,例如
1. 電話 — Phone Number
2. 連結 — Link
3. 地址 — Address
4. 日曆事件 — Calendar Event
5. 貨件追蹤號碼 — Shipment Tracking Number
6. Flight Number
7. Lookup Suggestion
並在用戶觸摸這些資料時提供相應的操作。

當你啟用 Data Detectors 時,Text View 會自動識別並呈現這些特定類型的資料,使用戶可以進行相應的操作,例如點擊電話號碼會播打電話,點擊日期以查看日曆事件,點擊地址以打開地圖應用,或點擊連結以在瀏覽器中打開網頁。

1. 電話 — Phone Number

可以看到電話的地方變成藍色,點擊後下方會顯示通話的按鍵,點擊後就會自動播打電話。

2. 連結 — Link

可以看到綠色的部份,網址的地方變成藍色,點擊後會開啟網頁。因為沒有勾選 Phone Number ,所以可以看到跟上面黃色的區塊比較,這裡的電話沒有變成藍色,點擊也沒有效果,就是普通的文字。

如果網址的地方,不想要藍色,可以改 Tint 的屬性,像這裡網址會變成紅色

2. 地址 — Address

可以看到橘色的部份,地址的地方變成有底線,點擊後會開啟地圖顯示地址的位置。

4. 日曆事件 — Calendar Event

執行的畫面:

選單點擊後就可以依這個時間,新增行程、提醒或顯示日曆。

相關API:UIDataDetectorTypes

5. 貨件追蹤號碼 — Shipment Tracking Number
6. Flight Number
7. Lookup Suggestion

這三個還不知道如何使用

參考:

--

--