UIWebView在iOS 10.3上剪辑为阿拉伯语内容

时间:2017-04-05 07:58:08

标签: ios objective-c uiwebview epub3

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

text

当我尝试在其上加载文件时,iBooks面临同样的问题。 此问题先前已在iOS 7上出现,但后来在iOS 8中得到修复。

此问题已在此链接中解决: webview clipped on ios7 但答案不适用。

任何可以帮助我的新建议?

更新: 请注意,这是用于分页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;
 }

1 个答案:

答案 0 :(得分:3)

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

以下是如何更改HTML字符串的方向 目标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元素中找到更新。