UIWebView 在 iOS 10.3 上针对阿拉伯语内容进行了裁剪
UIWebView clipped for Arabic content on iOS 10.3
我在使用最新的 iOS 版本 (10.3) 时遇到了有关在 UIWebView 上加载阿拉伯语内容 epub 的问题。如屏幕截图所示,文本在左侧被剪裁。
我在 iBooks 上加载文件时遇到了同样的问题。
这个问题之前在 iOS 7 上出现过,但后来在 iOS 8 上修复了。
此问题已在 link 中解决:
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;
}
我有同样的问题,它似乎是 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];
Swift:
let HTMLString = "<body><div style='text-align: right; \(yourHTMLString)/></body>"
webview.loadHTMLString(HTMLString, baseURL: nil)
它现在正在右对齐,直到我们在 OS 个网络元素中找到更新。
我在使用最新的 iOS 版本 (10.3) 时遇到了有关在 UIWebView 上加载阿拉伯语内容 epub 的问题。如屏幕截图所示,文本在左侧被剪裁。
我在 iBooks 上加载文件时遇到了同样的问题。 这个问题之前在 iOS 7 上出现过,但后来在 iOS 8 上修复了。
此问题已在 link 中解决: 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;
}
我有同样的问题,它似乎是 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];
Swift:
let HTMLString = "<body><div style='text-align: right; \(yourHTMLString)/></body>"
webview.loadHTMLString(HTMLString, baseURL: nil)
它现在正在右对齐,直到我们在 OS 个网络元素中找到更新。