对齐UIWebView文本字体和文字对齐
问题描述:
我使用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>علی شریعتی مَزینانی، مشهور به دکتر علی شریعتی (زادهٔ ۲ آذر ۱۳۱۲ در روستای کاهک، سبزوار – درگذشتهٔ ۲۹ خرداد ۱۳۵۶ در ساوت‌همپتون، انگلیس) نویسنده، جامعه‌شناس، تاریخ‌شناس، فیلسوف پژوهشگر دینی اهل ایران، از مبارزان و فعالان مذهبی و سیاسی و از نظریه‌پردازان انقلاب اسلامی ایران بود، که در سن۴۴سالگی در انگلستان درگذشت، و هم‌اکنون آرامگاه وی در مکانی نزد مقبرهٔ زینب کبری در دمشق سوریه است.</p>
<p><strong>با پاسخ به سوالات این جشنواره و اخذ امتیاز، علاوه بر بهره مندی از جایزه 1.5 میلیون ریالی، به ازای هر 20 کدشاتس یک کد طلایی شرکت در قرعه کشی سه دستگاه خودروی تیبا هاچ بک به دست بیاورید.</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;">- هر پاسخ صحیح=5 امتیاز و پاسخ غلط=2 امتیاز، امتیازات بیشتری کسب کن و شانست رو بالا ببر.<br />
- اگه صد در صد مطمئن هستی که </span><span style="font-size: 14px;">سوالی ایراد داره فقط کافیه که گزارش خطا بدی ما بررسی میکنیم و اگه غلط بود سوال جایگزین واست میفرستیم.<br />
- .</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">- عجله نکن و برای پیدا کردن جواب</span><span style="font-size: 14px;"> سوالاتت خوب جستجو کن</span></p>
我将不胜感激任何帮助。
非常感谢。
答
试试这个。
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
首先要装入注入代码的体内后的页面,您应该拨打的JavaScript - (空)webViewDidFinishLoad:(UIWebView的*)webView的{所以它有DOM准备 – teixeiras
为了有更好的效果我将在htmlString与背景颜色或字体这样的CSS注入:[htmlString stringByReplacingOccurrencesOfString:@”