Опитвам се да добавя подчертаване към приписан текст с помощта на персонализиран шрифт (HelveticaRounded-Bold). И все пак, подчертаването има проблеми както на симулатора, така и на устройството. Като този:
Това е UILabel
, но мога да възпроизведа проблема и в UITextView
. Изглежда, че програмата за изобразяване на текст погрешно изчислява къде да начертае долната линия на някои редове.
Голият код:
- (void)viewDidLoad {
[super viewDidLoad];
UIFont *font = [UIFont fontWithName:@"HelveticaRounded-Bold" size:18];
self.label.font = font;
self.label.numberOfLines = 0;
NSDictionary *attributes = @{ NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle) };
self.label.attributedText = [[NSAttributedString alloc] initWithString:@"This is a test. And the test has failed. What did I do to deserve this? Why NSUnderlineStyleAttributeName? Why?"
attributes:attributes];
}
Забавен факт: подчертаването не се сблъсква при размер 24 или по-висок (!). Той също така не възпроизвежда с помощта на TTTAttributedLabel
.
Някаква идея какво може да се случва тук?