如何在SwiftUI中以系统字体形式使用New York Extra Large?
在SwiftUI中使用New York字体的特定光学尺寸变体
方法1:使用系统预设的Dynamic Type样式(自动匹配光学尺寸)
New York作为苹果的系统衬线字体,其Extra Large、Large等预设变体对应系统的Dynamic Type样式,直接调用这些样式并指定design: .serif即可自动应用对应的光学尺寸:
Text("Extra Large 标题文本") .font(.system(.extraLargeTitle, weight: .bold, design: .serif)) Text("Large 标题文本") .font(.system(.largeTitle, weight: .regular, design: .serif))
这类预设样式(.extraLargeTitle、.largeTitle、.title、.headline等)会自动适配用户的字体大小偏好,同时匹配New York字体对应的光学尺寸优化。
方法2:手动指定尺寸与光学尺寸(iOS 16+)
iOS 16及以上版本支持直接在Font.system中指定opticalSize参数,手动控制字体尺寸和对应的光学变体:
Text("自定义尺寸+Extra Large光学尺寸") .font(.system(size: 64, weight: .bold, design: .serif, opticalSize: .extraLarge))
opticalSize可选值包括:.extraLarge、.large、.medium、.small、.extraSmall,对应New York字体的不同光学尺寸预设。
低版本兼容方案(可选)
如果需要兼容iOS 16以下版本,可直接通过Font.custom指定具体的New York字体名称(如"NewYorkXL-Bold"对应Extra Large粗体),但这种方式无法享受系统字体的动态适配特性:
Text("低版本兼容文本") .font(.custom("NewYorkXL-Bold", size: 64))
内容的提问来源于stack exchange,提问作者MoPaMo
相关产品推荐
相关产品推荐

