Существует одна запись о переполнении стека, уже решающая эту проблему, но она не решила проблему, она обошла ее. реализован заголовок, присвоенный строке в представлении средства выбора, не изменил шрифт?
Почему обратный вызов pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int)
не показывает правильный шрифт.
Вот мой код:
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
if component == 0 {
print(keysDataSource[row])
return keysDataSource[row]
} else {
print(chordsDataSource[row])
return chordsDataSource[row]
}
}
Вот результаты в окне отладки, показывающие результат оператора print при вызове этой функции обратного вызова:
vi{
NSFont = "<UICTFont: 0x113d55700> font-family: \"Times New Roman\"; font-weight: normal; font-style: normal; font-size: 30.00pt";
}
Проблема видна на скриншоте. Атрибуты не все показывают. Атрибут смещения базовой линии отображается, но не отображается ни один из атрибутов шрифта. Вместо этого он показывает системный шрифт. Обратите внимание на буквы b и L, которые должны обозначаться как плоский музыкальный символ и уменьшенный музыкальный символ соответственно.