我想在我的iOS应用程序中为我的UILabel使用等宽字体。
不幸的是,我找不到一个。甚至“美国打字机”实际上并不是等宽的。什么是XCode中可用的等宽字体?
答案 0 :(得分:61)
Courier
Courier-Bold
Courier-BoldOblique
Courier-Oblique
CourierNewPS-BoldItalicMT
CourierNewPS-BoldMT
CourierNewPS-ItalicMT
CourierNewPSMT
Menlo-Bold
Menlo-BoldItalic
Menlo-Italic
Menlo-Regular
iosfonts.com维护所有iOS字体的列表。
This webpage检测已安装的系统字体并返回相当全面的列表。
答案 1 :(得分:33)
查看一个旧listing of fonts shipped with iOS我看到几个一个等宽字体 s 。
(例如 Andale Mono,Monaco, Courier New)
2018年,它只是Menlo和Courier。
答案 2 :(得分:19)
如果您打算显示数字并且不关心使用的特定字体,则可以执行以下操作:
UIFont.monospacedDigitSystemFontOfSize(
UIFont.systemFontSize(),
weight: UIFontWeightRegular)
答案 3 :(得分:14)
Adobe刚刚以TTF和OTF格式发布了一个漂亮的等宽字体Source Code Pro。 它已获得Open Font License许可,因此可在应用程序(包括商业应用程序)中免费使用。 您需要通过在info.plist中设置UIAppFonts键以指向SourceCodeProRegular.ttf文件,将字体文件添加为Xcode中的资源。
现在,您可以在代码中进行设置,例如:
self.textView.font = [UIFont fontWithName:@"Source Code Pro" size:14];
答案 4 :(得分:9)
Expanding upon @reggie-pinkham's answer,我构建了这个JS Bin for folks to use as a live test page;为了节省未来读者的一些时间,这里有一些使用iOS模拟器在小牛队的屏幕截图:
8.1
8.1
答案 5 :(得分:5)
如果您正在为数字寻找等宽字体,请尝试" Helvetica Neue"。
答案 6 :(得分:5)
从iOS 13开始,旧金山(SF)Mono 可用。找不到在界面生成器中进行设置的方法,但是通过代码可以做到:
let font = UIFont.monospacedSystemFont(ofSize: 17.0, weight: .regular)
答案 7 :(得分:3)
iOS上可用的内置字体列表:http://iosfonts.com。 Courier和Menlo似乎是那里唯一的等宽字体。
答案 8 :(得分:1)
SwiftUI
您可以使用 Font 的实例方法 monospacedDigit
Text("0123456789")
.foregroundColor(.white)
.font(Font.custom("San Francisco", size: 20).monospacedDigit())
答案 9 :(得分:0)
您可以使用以下Font
工厂方法以等间距访问系统字体:
static func system(Font.TextStyle, design: Font.Design) -> Font
示例:
let monospacedBody = Font.system(.body, .monospaced)
其他用法:
let serifTitle = Font.system(.title, .serif)
答案 10 :(得分:0)
与此同时,Apple提供了一种很好的Monospace字体,可以从此处下载:Apple SFUI 以下是将字体添加到Xcode的方法:Add fonts to xcode