#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