Размер шрифта UISegementedControl

#swift #uisegmentedcontrol #tvos

#swift #uisegmentedcontrol #tvos

Вопрос:

Я пытаюсь изменить размер шрифта UISegementedControl в tvOS (если это поможет). По умолчанию шрифт огромный! Я смог уменьшить его следующим образом

 let switchAttributes = [NSForegroundColorAttributeName: UIColor.lightGray, NSFontAttributeName: UIFont.systemFont(ofSize: 28)]
segementedControl.setTitleTextAttributes(switchAttributes, for: .normal)
  

но, похоже, это влияет только на его .normal состояние. Похоже, что это не влияет ни на все остальные состояния, ни на указание их текстовых атрибутов:

 segementedControl.setTitleTextAttributes(switchAttributes, for: .selected) // No effect
segementedControl.setTitleTextAttributes(switchAttributes, for: .focused) // No effect
  

введите описание изображения здесь

Здесь вы можете увидеть, насколько велики сфокусированные и выбранные состояния

Я знаю, что на этот вопрос уже был дан ответ, и раньше мой код работал нормально, но после обновления tvOS 10 все сломалось, и я не нашел способа исправить эту проблему. Возможно, это просто ошибка Apple, но, может быть, я что-то упускаю?

Любая помощь приветствуется.

Ответ №1:

Попробуйте это:

 let font = UIFont.boldSystemFont(ofSize: 8.0)
let attributes = [ NSFontAttributeName : font ]
segmentedControl.setTitleTextAttributes(attributes, for: .selected)
  

Работал для меня, когда я его тестировал

Комментарии:

1. Np, рад помочь @kernelpanic