UIButton «setAttributedTitle» отображать » (null)»

#ios #objective-c #uibutton #nsattributedstring

#iOS #objective-c #uibutton #nsattributedstring

Вопрос:

Кнопка отображает «(null)» при использовании «setAttributedTitle». При использовании «setTitle» он может отображать правильную строку без атрибутов.

Есть идеи, как правильно отобразить приписываемый? Почему это может быть «null»?

 // Set current bar button attributes
NSMutableAttributedString *currentBarAttributedString = [[NSMutableAttributedString alloc] init];
[currentBarAttributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"REQUESTn"
                                                                         attributes:@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleNone)}]];
[currentBarAttributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"EQUIPMENT"
                                                                         attributes:@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)}]];
// Initialize buttons and set titles
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
[button1 setAttributedTitle:currentBarAttributedString forState:UIControlStateNormal];
  

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

1. currentBarAttributedString Регистрирует ли правильное значение?

2. @Larme Да, если напечатать его в виде строки, он может записать правильное значение. Но на экране отображается «(null)».

3. попробуйте сначала установить заголовок, а затем установить приписываемый заголовок.

4. @TejaNandamuri Он может отображать строку, но без подчеркивания. Итак, «setAttributedString» не обновляет заголовок? Как вы думаете, что-то не так с тем, как я установил «AttributedString»?

5. ваш код просто прекрасен. установите соответствующую ширину и высоту кнопки.