Системный шрифт не работает в iOS Simulator

Я прочитал почти все вопросы и ответы здесь по этой теме, и все они, похоже, относятся к пользовательским шрифтам, а не к системным шрифтам.

Я использую конструктор интерфейсов и имею SKLabelNode на сцене SpriteKit, для которой я изменил шрифт на «Lithos Pro». Он правильно отображается в IB, но отображает общий шрифт при запуске в симуляторе. Я также программно добавил в сцену UITextField, пытаясь использовать тот же шрифт, который тоже не работает.

Насколько я понимаю, это входит в состав пакета NSFont, но просто для подтверждения я добавил файлы TTF в проект и включил их в свои целевые ресурсы. Все еще не идет.

Мысли?

nameField = UITextField(frame: CGRect(x: view.center.x - 150,y:view.center.y - 25,width: 300, height: 50))
nameField.font = UIFont(name: "Lithos Pro Regular", size: 25)  //I've tried 'Lithos Pro, LithosPro, and Lithos Pro Regular'
nameField.textAlignment = .center
nameField.borderStyle = UITextBorderStyle.roundedRect
nameField.autocorrectionType = UITextAutocorrectionType.no
nameField.keyboardType = UIKeyboardType.default
nameField.returnKeyType = UIReturnKeyType.done
nameField.clearButtonMode = UITextFieldViewMode.whileEditing;
nameField.contentVerticalAlignment = UIControlContentVerticalAlignment.center
view.addSubview(nameField)

person TheValyreanGroup    schedule 01.03.2017    source источник
comment
Lithos Pro Regular не является системным шрифтом.   -  person Ashley Mills    schedule 01.03.2017


Ответы (1)


Чтобы увидеть все доступные системные шрифты в iOS, перейдите на iosfonts.com. Другой способ сделать это — напечатать UIFont.familyNames.

Я проверил iosfonts.com и обнаружил, что в iOS 9 нет шрифта с именем Lithos Pro. Если вы не можете найти шрифт и в UIFont.familyNames, это означает, что используемый вами шрифт является настраиваемым шрифтом, не предоставляемым ОС. . Другая возможность состоит в том, что вы написали полное название шрифта, а не только название семейства. Попробуйте удалить слово Regular.

Если вы используете пользовательский шрифт и добавили файл шрифта в проект, вам нужно что-то добавить в Info.plist, чтобы он заработал. Создайте новый KVP в файле Info.plist. Ключ называется "Шрифты, предоставляемые приложением" или что-то подобное. Просто прокрутите список вниз, и вы должны найти его. После этого Xcode автоматически создаст массив в качестве значения для ключа. Затем просто добавьте имя файла шрифта с расширением в качестве единственного элемента в массиве.

person Sweeper    schedule 01.03.2017
comment
Гвоздь в голову! Все, чего мне не хватало, это Info.plist KVP. После добавления, что он работает отлично. Спасибо, сэр! - person TheValyreanGroup; 01.03.2017