我熟悉新的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上,这不再可能。
有人知道这种新行为有任何解决方法吗?