自定义UIFont for preferredFontForTextStyle

Joh*_*erk 29 ios

如何从preferredFontForTextStyle每种文本样式返回自定义UIFont ?

例如,我想使用ArialHebrew-Bold字体UIFontTextStyleHeadline并使用ArialHebrewUIFontTextStyleBody

pek*_*eko 41

如果您只想使用自己的字体动态字体大小,则可以执行此操作

UIFontDescriptor *userFont = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
float userFontSize = [userFont pointSize];
UIFont *font = [UIFont fontWithName:@"ArialHebrew-Bold" size:userFontSize];
Run Code Online (Sandbox Code Playgroud)


mok*_*gio 8

Swift的版本:

let systemDynamicFontDescriptor = UIFontDescriptor.preferredFontDescriptor(withTextStyle: .body)
let size = systemDynamicFontDescriptor.pointSize
let font = UIFont(name: "ArialHebrew-Bold", size: size)
Run Code Online (Sandbox Code Playgroud)


sas*_*ash 6

从iOS 11开始:

let bodyMetrics = UIFontMetrics(forTextStyle: .body)
let standardFont = ... // any font you want, for standard type size
let font = bodyMetrics.scaledFont(for: standardFont)
Run Code Online (Sandbox Code Playgroud)