菜鸟教程小白 发表于 2022-12-12 17:07:05

ios - 如何仅在数组中加载自定义字体名称?


                                            <p><p>我在我的应用程序中使用了多种自定义字体。我知道如何添加自定义字体,但是所有这个过程的可怕部分是我们要使用自定义字体,因为大多数自定义字体名称与文件不同我们在应用程序中使用。在这里我想解释一下我最近做的例子,首先我在我的应用程序中添加了两个自定义字体文件
<img src="/image/NCQit.png" alt="enter image description here"/> </p>

<p>为了获得上述自定义字体名称,我尝试了这种方式</p>

<pre><code>NSArray *familyNames = [ initWithArray:];

NSArray *fontNames;
NSInteger indFamily, indFont;
FontnameArray=[ init];
for (indFamily=0; indFamily&lt;; ++indFamily)
{
   fontNames = [ initWithArray:
               [UIFont fontNamesForFamilyName:
                  ]];
    for (indFont=0; indFont&lt;; ++indFont)
    {
      NSString *fullName = ];
      ;
      }
    }
;
NSLog(@&#34;    Font name: %@&#34;, FontnameArray);
</code></pre>

<p>上面的代码为我显示了 199 个字体名称,所以我很难在 199 个字体中选择自定义字体名称,为了澄清我的疑问,我只需将字体文件拖到字体册然后我得到了自定义字体的原始名称。</p>

<pre><code>];
];
</code></pre>

<p>所以问题是我如何才能像上面那样在数组中获取所有自定义字体名称,而不是将每个字体文件拖到 Fontbook 以获取原始名称。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>只需与 iOS 中存在的所有字体进行比较</p>

<p>*创建新项目,如 <a href="https://github.com/lequysang/gitfiles02/blob/master/temFont.zip" rel="noreferrer noopener nofollow">this code</a>并将所有字体名称的数组写入 plist 文件</p>

<pre><code>- (void)writeAlliOSFontsToPlist{
    NSArray *fontFamilies = ;
    ;
}

- (NSString *) getFilePathForPlist:(NSString *) plistName {
    // placeholder
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    return [ stringByAppendingPathComponent:];
}

-(void) savePlist:(NSString *)plistName fromArray:(NSArray *)array {
    atomically:YES];
}
</code></pre>

<p>打开你的模拟器目录并复制<a href="https://github.com/lequysang/gitfiles02/blob/master/AllFont.plist" rel="noreferrer noopener nofollow">this plist</a>到您的应用程序包。
然后将此 plist 读入一个数组,并通过 <a href="https://github.com/lequysang/gitfiles02/blob/master/TestListFont.zip" rel="noreferrer noopener nofollow">this code</a> 与所有字体进行比较</p>

<pre><code>-(void)dumpCustomFonts{
    NSArray *iOSFontsArray = [NSArray arrayWithContentsOfFile:
                              [[ resourcePath] stringByAppendingPathComponent:
                               @&#34;AllFont.plist&#34;]];
    NSMutableArray *fontFamilies = (NSMutableArray *);
    ;
    NSLog(@&#34;%@&#34;,fontFamilies);
}
</code></pre>

<p>我的测试项目都做完了,你复制粘贴就好了。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何仅在数组中加载自定义字体名称?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/20465507/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/20465507/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何仅在数组中加载自定义字体名称?