標籤:html標籤 做了 比較 bubuko 內容 des str 完成 img
根據應用需求,需要將後台傳過來的html標籤文本顯示在頁面上,首先想到的是用WKWebview顯示,雖然可以實現但是感覺比較耗記憶體。嘗試用lable載入html,代碼以及效果如下所示,發現表格的邊框樣式載入不出來
NSString *str = @"羅夢槐,您好!您的借款項目【0903.按月3.02】債權轉讓已經完成,當前持有資訊如下:<table border=‘1‘ cellpadding=‘0‘ width=‘80%;‘ cellspacing=‘0‘><tr><td align=‘center‘>使用者名稱</td><td align=‘center‘>債權持有金額</td></tr><tr><td align=‘center‘>13944831072</td><td align=‘center‘>2200.00</td></tr><tr><td align=‘center‘>13944831077</td><td align=‘center‘>600.00</td></tr><tr><td align=‘center‘>13944831078</td><td align=‘center‘>200.00</td></tr><tr><td align=‘center‘>13944831078</td><td align=‘center‘>200.00</td></tr><tr><td align=‘center‘>13944831078</td><td align=‘center‘>1800.00</td></tr><tr><td align=‘center‘>13944831078</td><td align=‘center‘>800.00</td></tr><tr><td align=‘center‘>13944831079</td><td align=‘center‘>400.00</td></tr></table>"; UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(15, 100, K_SCREEN_WIDHTH-30, 300)];lab.numberOfLines = 0;[self.view addSubview:lab];NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[str dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];lab.attributedText = attrStr;lab.font = [UIFont systemFontOfSize:15];
然後抱著試試的心態用textview載入html標籤發現邊框樣式可以顯示出來了,應該是底層內部對lab和textview做了不同的處理,代碼以及效果如下
UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(15, 400, K_SCREEN_WIDHTH-30, 300)];textView.userInteractionEnabled = NO;[self.view addSubview:textView];NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[str dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];textView.attributedText = attrStr;textView.font = [UIFont systemFontOfSize:15];
總結textView和lable都可以載入html標籤內容,但是textview相比於lable可以同時載入出標籤裡的樣式,當然通過webview也可以實現對html的載入但是相對更耗記憶體這裡不建議使用,希望對遇到同樣問題的朋友有協助
ios用lable和textview載入html標籤