Что такое моноширинный шрифт в 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

IPAD-воздух-ИСН-8,1

iPhone 6 плюс, iOS 8.1

iphone-6-плюс-ИСН-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

Другие вопросы по тегам