UIButton setAttributedTitle: forState: не отображается
Я пытаюсь добавить подчеркивание к моему заголовку на пользовательском UIButton, но, следуя примеру найдено здесь, Я не могу заставить его показать на экране.
вот код, который я пытаюсь использовать:
NSMutableAttributedString *commentString = [[NSMutableAttributedString alloc] initWithString:@"The Quick Brown Fox"];
[commentString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [commentString length])];
[button setAttributedTitle:commentString forState:UIControlStateNormal];
это не отображается. Но если я просто сделаю обычный, Вот так:
[button setTitle:@"The Quick Brown Fox" forState:UIControlStateNormal];
это отображается нормально. Может кто-нибудь сказать мне, что я упускаю?
1 ответов
Я понял, тут проблема. Я предположил, что он не появляется, потому что я его не вижу. Тем не менее, он появлялся, он точно такого же цвета, как и фон.
я ошибочно полагал, что [button setTitleColor:myColor forState:UIControlStateNormal];
будет цвет, который будет использовать attributedTitle. Однако мой фон черный, и NSMutableAttributedString должен по умолчанию иметь черный цвет.
[commentString addAttribute:NSForegroundColorAttributeName value:myColor range:NSMakeRange(0, [commentString length])];
делает это правильно.