2017-06-19 18 views
0

私はswift3を使用しています.WebViewでhtmlStringをロードしようとしていますが、htmlテキストを表示するために右から左へのテキストアライメントとカスタムフォントを使用します。どのようにこの問題を解決することができますか?Justified 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 - (無効)webViewDidFinishLoad:(のUIWebView *)のWebViewを{そうそれは、準備ができてdomを持っています – teixeiras

+0

私はhtmlStringに背景色やフォントをこのような背景色やフォントで挿入するより良い効果を持っている:["" 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) 
    } 

を削除してくださいあなたは身体上のコードを注入した後のページをロードしているコード

+0

私はこれを試しますが、何も変えません。 – ava

関連する問題