合理的UIWebView文本字体和文本对齐

时间:2017-06-19 10:48:29

标签: ios swift uiwebview text-align

我正在使用swift3,我在WebView中尝试加载htmlString,我想使用右到左文本对齐和自定义字体来显示html文本。怎么能解决这个问题?

我试试这个,但没有工作

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>

1 个答案:

答案 0 :(得分:2)

试试这个。

  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 代码