iOS中的单空格字体是什么?

iOS中的单空格字体是什么?,ios,fonts,Ios,Fonts,我想在iOS应用程序中为UILabel使用单空格字体 不幸的是,我找不到。甚至“美国打字机”实际上也不是等距的。XCode中可用的单空间字体是什么?查看旧的单空间字体,我看到了几种单空间字体 (例如,摩纳哥的安代尔·莫诺(Andale Mono),纽约) 2018年只有Menlo和Courier。Adobe刚刚发布了一款漂亮的TTF和OTF格式的单间距字体。 它是通过许可的,所以可以在应用程序中免费使用,包括商业应用程序。 您需要将字体文件作为资源添加到Xcode中,方法是将info.plis

我想在iOS应用程序中为UILabel使用单空格字体

不幸的是,我找不到。甚至“美国打字机”实际上也不是等距的。XCode中可用的单空间字体是什么?

查看旧的单空间字体,我看到了几种单空间字体

(例如,摩纳哥的安代尔·莫诺(Andale Mono),纽约)



2018年只有Menlo和Courier。

Adobe刚刚发布了一款漂亮的TTF和OTF格式的单间距字体。 它是通过许可的,所以可以在应用程序中免费使用,包括商业应用程序。 您需要将字体文件作为资源添加到Xcode中,方法是将info.plist中的UIAppFonts键设置为指向SourceCodeProRegular.ttf文件

现在,您可以在代码中设置,例如:

    self.textView.font = [UIFont fontWithName:@"Source Code Pro" size:14];
iOS单间距字体 维护所有iOS字体的列表

检测您安装的系统字体并返回一个相当全面的列表。

,我创建了这个;为了节省未来读者的时间,以下是在Mavericks上使用iOS模拟器的几个屏幕截图:

iPad Air,iOS
8.1

iPhone 6 plus,iOS
8.1

如果您的目的是显示数字,而不关心所使用的特定字体,则可以执行以下操作:

UIFont.monospacedDigitSystemFontOfSize(
    UIFont.systemFontSize(),
    weight: UIFontWeightRegular)

iOS上可用的内置字体列表:。Courier和Menlo似乎是其中唯一的单空间字体


如果您正在寻找用于数字的单空格字体,请尝试“Helvetica Neue”。

您可以使用以下
字体
工厂方法访问单空格系统字体:

static func system(Font.TextStyle, design: Font.Design) -> Font
例如:

let monospacedBody = Font.system(.body, .monospaced)
其他用途:

let serifTitle = Font.system(.title, .serif)

同时,苹果公司提供了一种很好的Monospace字体,可在此处下载:
以下是如何将字体添加到Xcode:

从iOS 13开始,旧金山(SF)Mono可用。在interface builder中找不到设置此项的方法,但通过代码:

let font=UIFont.monospacedSystemFont(ofSize:17.0,weight:.regular)

SwiftUI

您可以使用字体的实例方法
monospacedDigit

Text("0123456789")
    .foregroundColor(.white)
    .font(Font.custom("San Francisco", size: 20).monospacedDigit())

Xcode本身不附带字体。也就是说,Xcode的默认字体至少应该是Menlo,就像雪豹和狮子一样。2018年,它实际上只是Menlo和Courier。现在,iOS和Xcode有一长串内置字体,并且总是可用(你可以在Xcode中很容易地看到)。只有两种单空格字体。对于任何自定义字体和等距数字字体,并非所有这些字体都包含在iOS中(Andale Mono和Monaco不包括在内)。看起来Courier New是唯一的固定宽度选项。啊,是的,当我发布时,我没有正确阅读图例。最有趣的是,在第一个视图中,这个答案看起来像一个笑话,事实上iOS只有一种单空格字体。Hahasis iOS 7有Menlo fontiOS 9或更高版本,sadlyI尝试了使用SKSpriteLabel的计时器计数,但标签上仍然显示“单间隔”系统字体-在iOS 10.2中,使用UIFont.monospacedDigitSystemFont(of size:weight:)对我来说是可行的。我的“数字计时器”UILabel不会“跳转”。要么是苹果公司在@Jonny试用后修复了它,要么UILabel没有SKSpriteLabel的缺陷。这种字体的宽度不相等。奇怪。??这是最著名的非等距字体。同意。但是,数字是等距的。我支持“危险建议”-1这正是我所需要的!其他单声道字体都有难看的零。下面是如何将字体添加到Xcode:请注意,“Menlo”和“Menlo Regular”并不是完全单声道分隔的,而“Menlo Bold”实际上是单声道分隔的。对于这两种字体,在显示“2”时,我看到宽度有一点变化而不是其他数字。使用模拟器XCode 12.4和iOS 14.4观察
Text("0123456789")
    .foregroundColor(.white)
    .font(Font.custom("San Francisco", size: 20).monospacedDigit())