回答我自己的問題。
我還沒有找到一種方法來做到這一點與本機textarea在iOS中沒有註冊字體在plist文件。
UIWebView如何支持@ font-face聲明和.ttf文件。訣竅是創建一個指向存儲在Documents文件夾中的字體的NSURL,然後通過使用[webView stringByEvaluatingJavaScriptFromString]告訴Web視圖使用它。
我在第一次測試中,我做了這樣的事情:
我的視圖控制器:
- (NSString *)documentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
return [paths objectAtIndex:0];
}
- (void) setFont {
NSString *urlPath = [[self documentsDirectory]
stringByAppendingPathComponent:@"myfont.ttf"];
NSURL *url = [NSURL fileURLWithPath:urlPath];
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"setFont('%@');", url]];
}
在我的網頁:
<style>
body {
font-family: customfont;
font-size: 40px;
}
</style>
<script>
function setFont(font) {
var id = 'customfont',
head = document.getElementsByTagName("head")[0],
style;
style = document.getElementById(id);
if(style) {
head.removeChild(style);
}
style = document.createElement("style");
style.setAttribute("id", id);
style.textContent = "@font-face { font-family: '" + id + "'; src: url('" + font + "'); font-weight: normal; font-style: normal; }"
head.appendChild(style);
}
</script>