在 iOS 中使用 Phonegap Canvas 自定义字体

     2023-03-15     85

关键词:

【中文标题】在 iOS 中使用 Phonegap Canvas 自定义字体【英文标题】:Custom fonts in iOS with Phonegap Canvas 【发布时间】:2013-03-22 02:38:46 【问题描述】:

我正在尝试在 iOS 下的 Phonegap 中制作自定义字体。 我遵循了几个教程并阅读了有关 Stack Overflow 的所有相关问题,但即使我仔细检查了所有内容,我仍然无法正确回答。

这是字体:http://www.dafont.com/m04fatal-fury.font(黑色版

我已经采取的步骤

使用 Xcode 作为资源将自定义字体文件添加到项目中 向名为 UIAppFonts 的 Info.plist 文件添加一个键。 将此键设为数组 对于您拥有的每种字体,输入字体文件的全名(包括扩展名)作为 UIAppFonts 数组的项目 保存信息.plist 现在在您的应用程序中,您可以简单地调用 [UIFont fontWithName:@"CustomFontName" size:12] 来获取自定义字体以用于您的 UILabel 和 UITextViews 等...

    将字体添加到资源文件夹 m04b.ttf 添加了 UIAppFonts 数组。 [0] => 'm04b.ttf' 检查实际字体文件是否在构建阶段资源中 ctx.font = '16px M04_FATAL FURY BLACK';

没用。

尝试了后记名称 M04_FATAL-FURY-BLACK 仍然没有运气。我完全迷失在这里我真的不知道该怎么做才能调试这个错误。

非常感谢您的帮助。可能是什么问题呢?我该怎么做才能检查所有内容是否都已加载?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIAppFonts</key>
    <array>
        <string>m04b.ttf</string>
    </array>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    .....

【问题讨论】:

可以加Info.plist相关栏目吗? 如果你在应用程序的某处添加for (NSString *font in [UIFont familyNames]) NSLog(@"%@", font); ,你能看到字体出现吗? (我看到一个条目“M04_FATAL FURY”) 【参考方案1】:

我遇到了同样的问题。我几乎可以保证你只是用空格或破折号或其他东西拼错了名字。将其放入 viewDidLoad 并搜索与您的姓名相似的内容(通用名称.. 不是 .ttf 名称)。

for (NSString *name in [UIFont familyNames]) 
    NSLog(@"Family name : %@", name);
    for (NSString *font in [UIFont fontNamesForFamilyName:name]) 
        NSLog(@"Font name : %@", font);
    

【讨论】:

【参考方案2】:

我使用了 CSS font-face,效果很好:https://developer.mozilla.org/en-US/docs/CSS/@font-face。

刚刚在 www/css 下添加了字体,并包含了带有正确路径的字体。

【讨论】:

【参考方案3】:

尝试在“应用程序提供的字体”键下的 .plist 文件中添加字体,这是在您输入键名时建议的,而不是“UIAppFonts”。

【讨论】:

它们是一回事。 UIAppFonts 是实际的“原始”键名,而Fonts provided by application 只是对该键的更友好的描述,其中包含了用途。如果您在编辑器中右键单击属性列表,则可以使用 Show Raw Keys/Values 菜单项在原始名称和显示名称之间切换。【参考方案4】:

下载字体并将其放在 www 文件夹中的某个位置。

在您的 css 文件中添加以下内容。

@font-face 
    font-family: customFontExample;
    src: url('/fonts/AveriaGruesaLibre-Regular.ttf'); 

src 是您下载字体的路径。在此之后,您可以像这样使用名称“customFontExample”为您的元素提供自定义字体

h1
font-family: customFontExample;

【讨论】:

【参考方案5】:

对于所有在这里的人,如果您需要@font-face 的东西,那么您做错了。

一旦您的应用程序中的 UIFont 可以使用您的字体,它也可以在您创建的任何 UIWebView 中使用,您只需以正确的方式指定您的 font-family css 属性。

例如

.customfont  font-family: 'M04_FATAL-FURY-BLACK'; 

【讨论】:

【参考方案6】:

我尝试了“应用程序提供的字体”/资源嵌入方法,我发现您还必须在应用程序中指定 .ttf 扩展名。

但在画布上下文中,我无法获得正确的大小,字体非常小。

因此,根据我的经验,这效果不佳,您必须退回到 html @font-face 方法,这很痛苦,因为很难知道字体何时加载并准备好使用...

【讨论】:

【参考方案7】:

我有同样的问题。问题是我通过查找器将字体添加到资源文件夹中。我注意到虽然文件夹中的字体没有出现在 Xcode 中。然后我通过xcode添加了文件,它工作了!

【讨论】:

如何在 iOS 中使用 Phonegap 配置键盘?

】如何在iOS中使用Phonegap配置键盘?【英文标题】:HowtoconfigurekeyboardusingPhonegapiniOS?【发布时间】:2014-06-2513:34:10【问题描述】:是否可以隐藏这条线,并使用Phonegap触摸外部以关闭键盘?【问题讨论】:Thispost可能对这种情况有... 查看详情

在 PhoneGap 中使用协议缓冲区 - iOS

】在PhoneGap中使用协议缓冲区-iOS【英文标题】:UsingProtocolbuffersinPhoneGap-iOS【发布时间】:2013-03-1707:04:14【问题描述】:我使用原生应用方法在iOS中使用了c++googleprotobuf类,即使用Xcode、objectivec、cocoa等。现在,我想迁移到混合应... 查看详情

如何在 iOS 中使用自定义 phonegap 3.3 插件

】如何在iOS中使用自定义phonegap3.3插件【英文标题】:Howtousecustomphonegap3.3plugininiOS【发布时间】:2014-01-2705:33:00【问题描述】:我已经在phonegap2.9中使用了phonegap插件(SQLitePlugin),但现在我想将我的项目转换为phonegap3.3,我已经按... 查看详情

在 iOS 中使用 PhoneGap Cleaver 覆盖方法

】在iOS中使用PhoneGapCleaver覆盖方法【英文标题】:UsingPhoneGapCleaveriniOStooverridemethod【发布时间】:2013-10-0706:27:12【问题描述】:我正在使用PhoneGap2.3-CleaverforiOS。如何覆盖shouldStartLoadWithRequest、webViewDidStartLoad、webViewDidFinishLoad函数... 查看详情

无法使用xcode phonegap在ios中隐藏状态栏

】无法使用xcodephonegap在ios中隐藏状态栏【英文标题】:canthidestatusbariniosusingxcodephonegap【发布时间】:2013-03-0911:02:40【问题描述】:我正在尝试删除我的xcodeiOS项目中的状态栏。phonegap2.5版。我试过以下。1)通过在config.xml中添加以... 查看详情

如何在 iOS 中使用 Admob Phonegap 插件

】如何在iOS中使用AdmobPhonegap插件【英文标题】:HowtouseAdmobPhonegappluginwithiOS【发布时间】:2012-05-2018:23:29【问题描述】:我正在使用thisAdmobpluginforPhonegap在iOS上运行,如下所示:window.plugins.AdMob.createBanner("siteId":"my-site-id");window.plug... 查看详情

使用 AngularJS 在 iOS 的 PhoneGap 3.3 中登录 XCODE

】使用AngularJS在iOS的PhoneGap3.3中登录XCODE【英文标题】:LoggingtoXCODEinPhoneGap3.3foriOSwithAngularJS【发布时间】:2014-01-2500:32:29【问题描述】:已经有几个关于在phonegap项目中登录XCode的问题(例如console.lognotworkinginaniOSPhoneGap3.0app),但... 查看详情

在 PhoneGap 中使用 JavaScript 创建和使用 iOS settings.bundle 值

】在PhoneGap中使用JavaScript创建和使用iOSsettings.bundle值【英文标题】:CreatingandusingiOSsettings.bundlevalueswithJavaScriptinPhoneGap【发布时间】:2012-03-1613:49:48【问题描述】:是否可以在iPhone设置应用程序中使用PhoneGap(v1.4.1)创建一个部分?... 查看详情

使用 phonegap 在 IOS 的图库中查看使用 FileWriter 写入文件系统的图像文件

】使用phonegap在IOS的图库中查看使用FileWriter写入文件系统的图像文件【英文标题】:ViewimagefilewrittentofilesystemusingFileWriteringalleryinIOSusingphonegap【发布时间】:2014-02-0622:33:27【问题描述】:我正在使用phonegapFileAPI(FileWriter)将图像文... 查看详情

Phonegap 在 iOS 中使用 File-Transfer 下载文件并在设备中访问它

】Phonegap在iOS中使用File-Transfer下载文件并在设备中访问它【英文标题】:PhonegapDownloadfileiniOSwithFile-Transferandaccesstoitinthedevice【发布时间】:2015-07-2114:48:48【问题描述】:我使用Phonegap和jQueryMobile创建了一个应用程序,它在iPadmini... 查看详情

在 iOS Phonegap 应用程序中禁用“想使用您当前的位置”警报

】在iOSPhonegap应用程序中禁用“想使用您当前的位置”警报【英文标题】:Disable"WouldLiketoUseYourCurrentLocation"alertiniOSPhonegapapp【发布时间】:2014-02-0614:19:15【问题描述】:我正在开发一个phonegap应用程序,我删除了所有使用G... 查看详情

在 iOS 中使用 PhoneGap 检测 SIM 卡更改

】在iOS中使用PhoneGap检测SIM卡更改【英文标题】:DetectSIMchangeusingPhoneGapiniOS【发布时间】:2015-12-0914:28:38【问题描述】:我正在开发一个PhoneGapiOS应用程序,该应用程序需要使用SIM或MSISDN来实现某些功能。我想知道是否有任何方... 查看详情

如何在 iOS 中删除 Phonegap 构建权限警报?

】如何在iOS中删除Phonegap构建权限警报?【英文标题】:HowtoremovePhonegapBuildPermissionalertiniOS?【发布时间】:2015-05-2121:25:18【问题描述】:我正在使用PhonegapBuild来编译我使用Construct2制作的游戏。现在,当我在iPhone上安装游戏时,... 查看详情

在 PhoneGap 1.2.0 中使用 Google Analytics 时 Android 和 iOS 之间的差异

】在PhoneGap1.2.0中使用GoogleAnalytics时Android和iOS之间的差异【英文标题】:DifferencesbetweenAndroidandiOSwhenusingGoogleAnalyticsinPhoneGap1.2.0【发布时间】:2011-11-1113:24:12【问题描述】:我一直在尝试让GoogleAnalytics在Android和iOS上的PhoneGap1.2.0中... 查看详情

iOS 的 Phonegap 插件

】iOS的Phonegap插件【英文标题】:PhonegappluginsforiOS【发布时间】:2014-05-2507:22:00【问题描述】:在windows机器上使用“phonegap”(在mac上没试过)并为android构建“phonegap”项目时,所有插件都复制到src目录中,您可以在您的android编... 查看详情

如何使用地图:在phonegap ios应用程序中

】如何使用地图:在phonegapios应用程序中【英文标题】:howtousemaps:inphonegapiosapplication【发布时间】:2013-03-0805:31:55【问题描述】:参考link我正在尝试使用以下网址将给定位置定位到本机iOS地图上:window.location="maps:Greensboro+NC"但... 查看详情

使用 phonegap 防止键盘在 iOS 应用程序中向上推 webview

】使用phonegap防止键盘在iOS应用程序中向上推webview【英文标题】:PreventKeybordpushupwebviewatiOSappusingphonegap【发布时间】:2016-03-0909:37:05【问题描述】:每当我在iOS应用程序中单击文本字段或数据选择器时,导航栏都会随着滚动而向... 查看详情

div 标签在使用 PhoneGap 构建的 iOS 应用程序中是可选的

】div标签在使用PhoneGap构建的iOS应用程序中是可选的【英文标题】:divtagsareselectableiniOSappbuiltwithPhoneGap【发布时间】:2015-06-2521:09:10【问题描述】:我正在使用PhoneGap构建一个应用程序,我注意到div标签可以选择为以下有谁知道... 查看详情