Что такое моноширинный шрифт в iOS?
Я хочу моноширинный шрифт для моей UILabel в моем iOS-приложении.
К сожалению, я не смог найти ни одного. Даже "Американская пишущая машинка" на самом деле не была моноширинной. Какой моноширинный шрифт доступен в XCode?
11 ответов
Глядя на старый список шрифтов, поставляемых с iOS, я вижу несколько моноширинных шрифтов.
(напр. Андале Моно, Монако, Курьер Нью)
Для 2018 года это только Менло и Курьер.
iOS моноширинные шрифты
Courier
Courier-Bold
Courier-BoldOblique
Courier-Oblique
CourierNewPS-BoldItalicMT
CourierNewPS-BoldMT
CourierNewPS-ItalicMT
CourierNewPSMT
Menlo-Bold
Menlo-BoldItalic
Menlo-Italic
Menlo-Regular
http://iosfonts.com/ поддерживает полный список всех шрифтов iOS.
И на этой странице верстки вы можете просмотреть и протестировать установленные системные шрифты.
Если ваше намерение состоит в том, чтобы отображать числа, а вам не нужен конкретный используемый шрифт, вы можете сделать это:
UIFont.monospacedDigitSystemFontOfSize(
UIFont.systemFontSize(),
weight: UIFontWeightRegular)
Adobe только что выпустила красивый моноширинный шрифт Source Code Pro в форматах TTF и OTF. Он лицензируется с помощью Open Font License, поэтому он доступен для свободного использования в приложениях, включая коммерческие. Вам нужно будет добавить файл шрифта в качестве ресурса в Xcode, установив ключ UIAppFonts в файле info.plist, чтобы он указывал на файл SourceCodeProRegular.ttf.
Теперь в вашем коде вы можете установить, например:
self.textView.font = [UIFont fontWithName:@"Source Code Pro" size:14];
Продолжая ответ @reggie-pinkham, я построил эту JS Bin для людей, которые будут использоваться в качестве живой тестовой страницы; Чтобы сэкономить время будущего читателя, вот несколько снимков экрана с использованием iOS Simulator на Mavericks:
iPad Air, iOS 8.1
iPhone 6 плюс, iOS 8.1
Начиная с iOS 13 доступна версия San Francisco (SF) Mono. Не удалось найти способ установить это в построителе интерфейса, но по коду это:
let font = UIFont.monospacedSystemFont(ofSize: 17.0, weight: .regular)
Если вы ищете моноширинный шрифт для чисел, попробуйте "Helvetica Neue".
SwiftUI
Вы можете использовать метод экземпляра шрифта
monospacedDigit
Text("0123456789")
.foregroundColor(.white)
.font(Font.custom("San Francisco", size: 20).monospacedDigit())
Список встроенных шрифтов, доступных на iOS: http://iosfonts.com/. Курьер и Менло, кажется, единственные моноширинные шрифты там.
Вы можете получить доступ к системным шрифтам в моноширинном режиме с помощью следующих Font
заводской метод:
static func system(Font.TextStyle, design: Font.Design) -> Font
Пример:
let monospacedBody = Font.system(.body, .monospaced)
Другое использование:
let serifTitle = Font.system(.title, .serif)
А пока есть хороший моноширинный шрифт от Apple, который можно скачать здесь: Apple SFUI Вот как добавить шрифты в Xcode: Добавить шрифты в xcode