【发布时间】:2012-02-19 07:34:44
【问题描述】:
我有一个 UIWebView,我有一个自定义字体我想加载到一个可编辑的 html 文档中,我将通过 UIWebView 显示该文档。在我的 SupportingFiles(资源)文件夹中,我有“Nosifer-Regular.ttf”...要在我的 HTML 中使用自定义字体,我需要字体拼贴的路径(URL)...我尝试这样做,但它没有似乎不起作用...有什么想法吗?
bundle = [NSBundle mainBundle];
pathFont = [bundle bundlePath];
fontURL = [NSBundle pathForResource:@"Nosifer-Regular" ofType:@"ttf" inDirectory:pathFont];
path_font = [fontURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
fileAppend = [[NSString alloc] initWithFormat:@"file://"];
path_font = [[NSString alloc] initWithFormat:@"%@%@", fileAppend, path_font];
HTML (CSS):
@font-face {
font-family: 'Nosifer';
font-style: normal;
font-weight: 400;
src: local('Nosifer'), local('Nosifer-Regular'), url('%@') format('truetype');
}
%@ 替换为“path_font”(在上面的第一个代码块中定义)
【问题讨论】:
-
这看起来是一个很好的答案,但我似乎无法让它工作 - 无论我做什么,我的自定义字体(作为资源嵌入)都没有使用。您能否发布一个显示此工作版本的工作代码示例?已接受答案中的扩展 cmets 似乎包含解决方案(例如使用 " 而不是 ',但我不确定在哪里)。
-
您是从应用程序包中加载内容吗?确保在创建 URL 时传递的
baseURL参数指向应用的资源文件夹。 -
@nielsbot 谢谢!唯一的问题是,在 iOS CSS 中的 UIWebView 中,字体类型需要双引号,单引号不起作用……这与 CSS 无关(在 REAL CSS 中,任何一个都可以)但是由于某种原因,Apple 对 UIWebViews 进行编程的方式不起作用......我将单引号切换为双引号,并且接受的答案(如下)中的代码运行良好。
-
@AlbertRenshaw, hy,我也在尝试做几乎一样的事情,但没有运气,你认为你可以看看我的问题:stackoverflow.com/questions/50444788/…
标签: ios fonts uiwebview path custom-font