iOS webview加載HTML字符串,圖片及文字自適應

直接上代碼

NSString *content = [content stringByReplacingOccurrencesOfString:@"&quot" withString:@"'"];
    content = [content stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"];
    content = [content stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"];
    content = [content stringByReplacingOccurrencesOfString:@"&quot;" withString:@"\""];
    
    NSString *htmls = [NSString stringWithFormat:@"<html> \n"
                       "<head> \n"
                       "<meta name=\"viewport\" content=\"initial-scale=1.0, maximum-scale=1.0, user-scalable=no\" /> \n"
                       "<style type=\"text/css\"> \n"
                       "body {font-size:15px;}\n"
                       "</style> \n"
                       "</head> \n"
                       "<body>"
                       "<script type='text/javascript'>"
                       "window.onload = function(){\n"
                       "var $img = document.getElementsByTagName('img');\n"
                       "for(var p in  $img){\n"
                       " $img[p].style.width = '100%%';\n"
                       "$img[p].style.height ='auto'\n"
                       "}\n"
                       "}"
                       "</script>%@"
                       "</body>"
                       "</html>",content];
    
    
    [_webView loadHTMLString:htmls baseURL:nil];

處理HTMLString的原理:

原理就是用一個for循環,拿到所有的圖片,對每個圖片都處理一次,讓圖片的寬為100%,就是按照屏幕寬度自適應;讓圖片的高atuo,自動適應。文字的字體大小,可以去改font-size:15px,這里我用的是15px。根據自己的具體需求去改吧。

- (NSString *)htmlEntityDecode:(NSString *)string
{
    string = [string stringByReplacingOccurrencesOfString:@"&quot;" withString:@"\""];
    string = [string stringByReplacingOccurrencesOfString:@"&apos;" withString:@"'"];
    string = [string stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"];
    string = [string stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"];
    string = [string stringByReplacingOccurrencesOfString:@"&amp;" withString:@"&"]; // Do this last so that, e.g. @"&amp;lt;" goes to @"&lt;" not @"<"

    return string;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,815評論 1 92
  • 轉載請聲明 原文鏈接地址 關注公眾號獲取更多資訊 第一部分 HTML 第一章 職業規劃和前景 職業方向規劃定位...
    前端進階之旅閱讀 16,627評論 32 459
  • (本文翻譯自AppCoda創建者Simon Ng出版的書籍《iOS開發中級教程》,詳見:Intermediate ...
    我是喬忘記瘋狂閱讀 4,719評論 13 32
  • L說你真厲害呢,總是能那么冷靜理智的分析對待那么多事情 J說你真有點懶呢 阿南說你就是個有閑散的心卻又操心的命,知...
    阿婆次得額佛歌閱讀 311評論 0 0
  • 開篇 如果追溯到上一次寫日記的沖動那應該還是買DAY ONE的時候,對,是第一版不是現在大家用的第二版,而結果也很...
    Jason_波波閱讀 156評論 0 0