Метка, приписываемая UILabel в ячейке таблицы, не сохраняет атрибуты, назначенные в раскадровке

#ios #swift #uitableview #uilabel #nsattributedstring

#iOS #swift #uitableview #uilabel #nsattributedstring

Вопрос:

У меня есть UILabel в ячейке таблицы, я присвоил ей пользовательский шрифт, вес и цвет в storyboard. В cellForRowAt когда я изменяю значение метки, это не сохраняет атрибуты метки, назначенные в раскадровке.

Почему она не работает в ячейке таблицы, в то время как она работает иначе, если не в ячейке таблицы?

 // this doesn't preserve attributes for name assigned in storyboard
cell.name.text = "Name"
  

Чтобы это сработало, я должен создать приписываемую строку

 cell.name.attributedText = NSAttributedString(string: "Name",
                                             attributes: [NSAttributedString.Key.font: MyFont, NSAttributedString.Key.foregroundColor: .white]
  

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

1. Пожалуйста, покажите скриншот вашей раскадровки с помощью attributed inspector?

2. Убедитесь, что вы выбрали Plain for Text в свойстве Label в раскадровке.

3. Это строка, приписываемая в раскадровке. В раскадровке нет ничего плохого. Это происходит со всеми ярлыками и кнопками, приписываемыми моей ячейке.