2017-06-19 81 views
0

我使用swift3,我試圖在WebView中加載htmlString,我想使用右對齊文本對齊和顯示html文本的自定義字體。如何解決這個問題?對齊UIWebView文本字體和文字對齊

我嘗試這一點,但但不工作

func ShowHtmlText() { 

    webView.delegate = self 
    webView.loadHTMLString(infoText, baseURL: nil) 

} 

    func webViewDidFinishLoad(_ webView: UIWebView) { 

    infoText = "<p style=\"text-align:justify\">\(infoText)</p>" 

    infoText = infoText.replacingOccurrences(of: "</body>", with: "<style>body{background color: color !important;}</style></body>") 
    webView.stringByEvaluatingJavaScript(from: "document.getElementsByTagName('body')[0].style.fontFamily =\"Custom Font = \"Wyekan\"") 

    } 

,這是我的HTML文本:

<div> 
<p>علی شریعتی مَزینانی، مشهور به دکتر علی شریعتی&nbsp;(زادهٔ ۲ آذر ۱۳۱۲ در روستای کاهک، سبزوار &ndash; درگذشتهٔ ۲۹ خرداد ۱۳۵۶ در ساوت&zwnj;همپتون، انگلیس) نویسنده، جامعه&zwnj;شناس، تاریخ&zwnj;شناس، فیلسوف&nbsp;پژوهشگر دینی اهل ایران، از مبارزان و فعالان مذهبی و سیاسی و از نظریه&zwnj;پردازان انقلاب اسلامی ایران بود،&nbsp;که در سن۴۴سالگی&nbsp;در انگلستان درگذشت، و هم&zwnj;اکنون آرامگاه وی در مکانی نزد مقبرهٔ زینب کبری در دمشق سوریه است.</p> 

<p><strong>با پاسخ به سوالات این جشنواره و اخذ امتیاز، علاوه بر بهره مندی از جایزه 1.5 میلیون ریالی، به ازای هر 20 کدشاتس یک کد طلایی شرکت در قرعه کشی سه دستگاه خودروی تیبا هاچ بک&nbsp;&nbsp;به دست بیاورید.</strong></p> 

<p>نت رای می کوشد تا با برگزاری این جشنواره، شما را با این شخصیت ارزنده، بیشتر آشنا کند.</p> 
</div> 

<p><strong><span style="font-size: 18px;"><span style="color: rgb(0, 0, 255);">نکات:</span></span></strong></p> 

<p style="text-align: justify;"><span style="font-size: 14px;">- &nbsp;هر پاسخ صحیح=5 امتیاز&nbsp;و &nbsp;پاسخ غلط=2 امتیاز، امتیازات بیشتری کسب کن و شانست رو بالا ببر.<br /> 
- &nbsp;اگه صد در صد مطمئن هستی&nbsp;که&nbsp;</span><span style="font-size: 14px;">سوالی ایراد داره فقط کافیه که&nbsp;گزارش خطا&nbsp;بدی ما بررسی میکنیم و اگه غلط بود سوال جایگزین واست میفرستیم.<br /> 
- .</span></p> 

<p style="text-align: justify;"><span style="font-size: 14px;">​- عجله نکن و برای پیدا کردن جواب</span><span style="font-size: 14px;">&nbsp;سوالاتت خوب جستجو کن</span></p> 

我將不勝感激任何幫助。

非常感謝。

+0

首先要裝入注入代碼的體內後的頁面,您應該撥打的JavaScript - (空)webViewDidFinishLoad:(UIWebView的*)webView的{所以它有DOM準備 – teixeiras

+0

爲了有更好的效果我將在htmlString與背景顏色或字體這樣的CSS注入:[htmlString stringByReplacingOccurrencesOfString:@」‘withString:@’ 「]; – teixeiras

+0

你可以使用本地CSS文件來做同樣的事情,你只需要用html字符串加載本地的css文件即可。 – Surjeet

回答

0

試試這個。

func ShowHtmlText(){ 
     self.webView.delegate = self 
     self.webView.loadHTMLString(updateDataWithFont(infoText), baseURL: nil) 
    } 

    func updateDataWithFont(data:String)->String{ 
     return String(format: "<html><body><span style=\"font-family:%@;text-align:justify\">%@</span></body></html>","Wyekan",data) 
    } 

請刪除webViewDidFinishLoad代碼

+0

我嘗試這個,但沒有改變任何事情。 – ava