2

我熟悉新的 Apple 准则,即不应再通过名称访问系统字体,而应仅使用系统 API。除了这个新要求之外,似乎 SF 显示和文本字体已合并为一种字体。我开发的应用程序有用户内容,过去用户可以自由使用任何大小的 SF Display 或 SF Text,我们希望仍然支持这种行为。这似乎不再可能。一些代码:

    UIFont *fontDisplay = [UIFont systemFontOfSize:10];
    UIFont *fontText = [UIFont systemFontOfSize:20];
    NSLog(@"display font %@ and %@", fontDisplay.fontName, fontDisplay.familyName);
    NSLog(@"text font %@ and %@", fontText.fontName, fontText.familyName);

在 ios12 上,我们得到了两种不同的字体:

display font .SFUIText and .SF UI Text
text font .SFUIDisplay and .SF UI Display

在 ios13 上,我们得到一种字体:

display font .SFUI-Regular and .AppleSystemUIFont
text font .SFUI-Regular and .AppleSystemUIFont

在 ios12 上,我们曾经能够将“UIFont fontWithSize”与 fontDisplay 和 fontText 一起使用来获得小点版本的 Display 或大点版本的 Text,以支持作者创建的内容。在 ios 13 上,这不再可能。

有谁知道这种新行为的任何解决方法?

4

0 回答 0