html文字的顯示依靠nsattributedstring這個類
nshtmltextdocumenttype 只是nsdocumenttypedocumentattribute key一種可能的值。你還可以使用nsplaintextdocumenttype,nsrtftextdocumenttype或是 nsrtfdtextdocumenttype。
//讀取html
nsstring *html = @」wow! now ioscan create from htmls!」;
nsdictionary *options = @;
nsattributedstring *attrstring = [[nsattributedstring alloc] initwithdata:[html datausingencoding:nsutf8stringencoding] options:options documentattributes:nil error:nil];
//構建html
nsattributedstring * attrstring;
nsdictionary *options = @;
nsdata *htmldata = [attrstring datafromrange:nsmakerange(0, [attrstring length]) documentattributes:options error:nil];
nsstring *htmlstring = [[nsstring alloc] initwithdata:htmldata encoding:nsutf8stringencoding];
nsattributedstring的key的意義
nsstring *const nsfontattributename ; // 設定字型,uifont物件,預設12-point helvetica(neue)
nsstring *const nsparagraphstyleattributename ; // (重要)設定段落風格,nsparagraphstyle物件,預設是[nsparagraphstyle defaultparagraphstyle],這裡可以設定很多段落格式,首行縮排之類的
nsstring *const nsforegroundcolorattributename ; // 字型顏色,uicolor物件,預設黑色
nsstring *const nsbackgroundcolorattributename ; // 背景色,uicolor物件,預設透明
nsstring const nsligatureattributename ; // (***)不知道幹嘛用
nsstring *const nskernattributename ; // 字元間距,nsnumber 浮點數,預設為0
nsstring *const nsstrikethroughstyleattributename ; // 刪除線的線粗,nsnumber 整數,預設是nsunderlinestylenone(你真的沒看錯)
nsstring *const nsunderlinestyleattributename ; // 下劃線的線粗,nsnumber 整數,預設同上,還有別的樣式,例如雙下劃線
nsstring *const nsstrokecolorattributename ; // 描邊顏色,uicolor物件,預設同字型顏色
nsstring *const nsstrokewidthattributename ; // 描邊,nsnumber 浮點數,正值表示鏤空描邊,負值標誌填充描邊,值表示描邊線粗
nsstring *const nsshadowattributename ; // 陰影,nsshadow物件,效果參照最後的
nsstring *const nstexteffectattributename ; // 文字風格,nssting物件,預設為nil,官方舉例nstexteffectletterpressstyle,其實也就只有這個風格。。。感覺有跟沒有差不多
nsstring const nsattachmentattributename ; // (***)文字附件屬性, nstextattachment物件,其中包含有,等我找到典型案例再回來重新介紹
nsstring *const nslinkattributename ; // 鏈結某個位址,nsurl(推薦)或nsstring物件,預設為nil不指定任何鏈結。這裡有詳細介紹,
nsstring *const nsbaselineoffsetattributename ; // 基線偏移量,nsnumber 浮點數,可以上下微調字型的位置。(適合那些返回位置資訊不正確的字型)
nsstring *const nsunderlinecolorattributename ; // 下劃線顏色
nsstring *const nsstrikethroughcolorattributename ; // 刪除線顏色
nsstring *const nsobliquenessattributename ; // 斜體,nsnumber 浮點數,預設0,數值表示傾斜度
nsstring *const n***pansionattributename ; // 水平拉伸,nsnumber 浮點數,預設0,水平拉伸字型,高度不變。
nsstring const nswritingdirectionattributename ; // (***)書寫方向,nsarray nsnumber(而且只能是整數0,1,2,3),沒看到什麼效果,找到案例再來更新
nsstring *const nsverticalglyphformattributename; // 水平或垂直顯示,nsnumber(只有0:水平和1:垂直),沒看到效果。。。
iOS中TextView顯示HTML文字
nsattributedstring attributedstring nsattributedstring alloc initwithdata contentstr datausingencoding nsunicodestringencoding options documentattribu...
iOS中如何使橫向展示的文字縱向居中
之前面試過幾個人,乙個很小的問題卻回答的不是很好。自己專案裡也出現過這樣的問題。居中確實是工作了兩三年後才知道怎麼實現的。uilabel 父檢視 高度會跟著螢幕變 uiview superview uiview alloc initwithframe cgrectmake 0,100,320,uis...
HTML識別文字空格回車換行展示
今天寫乙個資訊展示頁面,從後台獲取到textare輸入的內容有文字格式,但是直接把值賦進標籤內,顯示是以文字格式輸出,不符合預期,經查資料,將解決辦法整理如下 txt 獲取到的文字資料 會以原樣輸出,請結合需求使用!pre 標籤定義及使用說明 標籤可定義預格式化的文字。被包圍在標籤 元素中的文字通常...