Ответ 1
Думаю, вам нужно:
NSFontAttributeName : UIFont.systemFontOfSize(19.0)
Или жирная версия:
NSFontAttributeName : UIFont.boldSystemFontOfSize(19.0)
Подробнее о руководствах и шрифтах пользовательского интерфейса см. данное руководство.
Я пытаюсь изменить размер шрифта заголовка панели навигации. Я знаю, что могу установить его атрибуты, используя:
var attributes = [ NSForegroundColorAttributeName: UIColor.blackColor(), NSFontAttributeName: UIFont(name: "the font name", size: 18)! ]
...
self.navigationController?.navigationBar.titleTextAttributes = attributes
То, что я не могу найти, - это правильное имя шрифта "System".
Я был после default, a.k.a System, имя шрифта. Я попробовал распечатать все доступные шрифты только для того, чтобы обнаружить, что он не принадлежит семье и, похоже, не имеет явного имени.
Думаю, вам нужно:
NSFontAttributeName : UIFont.systemFontOfSize(19.0)
Или жирная версия:
NSFontAttributeName : UIFont.boldSystemFontOfSize(19.0)
Подробнее о руководствах и шрифтах пользовательского интерфейса см. данное руководство.
Вы можете получить доступ к системному шрифту, подобному этому, и даже установить вес шрифта:
UIFont.systemFont(ofSize: 18, weight: UIFontWeightLight)
UIFont.systemFontOfSize(18, weight: UIFontWeightLight)
Для веса шрифта у вас есть выбор между этими константами, он доступен из iOS 8.2:
UIFontWeightUltraLight,
UIFontWeightThin,
UIFontWeightLight,
UIFontWeightRegular,
UIFontWeightMedium,
UIFontWeightSemibold,
UIFontWeightBold,
UIFontWeightHeavy,
UIFontWeightBlack
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(6)]
Просто используйте методы UIFont (swift):
let sysFont: UIFont = UIFont.systemFontOfSize(UIFont.systemFontSize())
Надеюсь, что это поможет!
(В соответствии с ответом Филиппа для последней версии)
Swift 4
UIFont.systemFont(ofSize: 18, weight: UIFont.Weight.light)
Попробуйте приведенный ниже код:
self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name:"Arial", size:14.0)!, NSForegroundColorAttributeName:UIColor.blackColor()]