4

我遇到了关于 UIWebView 上加载的阿拉伯内容 epub 的最新 iOS 版本 (10.3) 的问题。如屏幕截图所示,文本在左侧被剪裁。

文本

当我尝试在 iBooks 上加载文件时,也面临同样的问题。这个问题之前在 iOS 7 上出现过,但后来在 iOS 8 中得到修复。

这个问题已经在这个链接中得到解决: webview clipped on ios7 but the answers are not applicable。还有其他方法吗?

更新:请注意,这是用于 epub 分页的 CSS,这就是边距的设置方式,并且操纵边距和宽度百分比或宽度大小,并不能解决问题。

 html {
     height:840px;
     font-size:24px;
     width:100%;
 }

 body {
     margin:0px;
     padding:0px;
     width:100%;
 }

 #viewer {
     width:668px;
     height:840px;
 }

 #book {
     width:668px;
     height:840px;
     margin-left:50px;
     margin-right:50px;

     -webkit-column-count:auto;
     -webkit-column-width:668px;
     -webkit-column-gap:100px;
     text-align:justify;
 }

 .h {
     margin-top:8px;
 }
4

1 回答 1

3

我有同样的问题,它似乎是 iOS 10.3 中的一个错误,并且在 10.3.1 中仍然存在,在 iOS 10.3 以下的任何设备上一切正常,经过大量调试和检查元素后,我发现这个问题发生在阿拉伯语 HTML 文本对齐设置为对齐,文本方向为 RTL,因此我将对齐更改为右对齐,一切正常 - 没有文本对齐 - 我发现任何网站中的这个错误都有 RTL 方向和对齐文本。

以下是如何将方向更改为 HTML 字符串 Objective-C:

NSString *HTMLString = [NSString stringWithFormat:@"<body><div style='text-align: right; %@/></body>", yourHTMLString];
[webView loadHTMLString:HTMLString baseURL:nil];

迅速:

let HTMLString = "<body><div style='text-align: right; \(yourHTMLString)/></body>"
webview.loadHTMLString(HTMLString, baseURL: nil)

它现在以正确的对齐方式工作,直到我们在 OS Web 元素中找到更新。

于 2017-04-06T13:40:30.740 回答