Подтвердить что ты не робот

Как программно обращаться к системному шрифту iOS

Я пытаюсь изменить размер шрифта заголовка панели навигации. Я знаю, что могу установить его атрибуты, используя:

var attributes = [ NSForegroundColorAttributeName: UIColor.blackColor(), NSFontAttributeName: UIFont(name: "the font name", size: 18)! ]

...

 self.navigationController?.navigationBar.titleTextAttributes = attributes

То, что я не могу найти, - это правильное имя шрифта "System".

Я был после default, a.k.a System, имя шрифта. Я попробовал распечатать все доступные шрифты только для того, чтобы обнаружить, что он не принадлежит семье и, похоже, не имеет явного имени.

4b9b3361

Ответ 1

Думаю, вам нужно:

NSFontAttributeName : UIFont.systemFontOfSize(19.0)

Или жирная версия:

NSFontAttributeName : UIFont.boldSystemFontOfSize(19.0)

Подробнее о руководствах и шрифтах пользовательского интерфейса см. данное руководство.

Ответ 2

Вы можете получить доступ к системному шрифту, подобному этому, и даже установить вес шрифта:

  • Swift 3

    UIFont.systemFont(ofSize: 18, weight: UIFontWeightLight)

  • Swift 2

    UIFont.systemFontOfSize(18, weight: UIFontWeightLight)

Для веса шрифта у вас есть выбор между этими константами, он доступен из iOS 8.2:

UIFontWeightUltraLight,
UIFontWeightThin,
UIFontWeightLight,
UIFontWeightRegular,
UIFontWeightMedium,
UIFontWeightSemibold,
UIFontWeightBold,
UIFontWeightHeavy,
UIFontWeightBlack

Ответ 3

self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(6)]

Ответ 4

Просто используйте методы UIFont (swift):

let sysFont: UIFont = UIFont.systemFontOfSize(UIFont.systemFontSize())

Надеюсь, что это поможет!

Ответ 5

(В соответствии с ответом Филиппа для последней версии)

  • Swift 4

    UIFont.systemFont(ofSize: 18, weight: UIFont.Weight.light)

Ответ 6

Попробуйте приведенный ниже код:

self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name:"Arial", size:14.0)!, NSForegroundColorAttributeName:UIColor.blackColor()]