drawInRect: withAttributes против drawInRect: withFont: lineBreakMode: выравнивание
Я работаю над новой версией своего приложения и пытаюсь заменить устаревшие сообщения, но не могу пройти мимо этой.
Не могу понять почемуdrawInRect:withAttributes
не работает. Код отображается правильно, когдаdrawInRect:withFont:lineBreakMode:alignment
сообщение отправлено, но не работает, когдаdrawInRect:withAttributes
отправлено.
Я использую тот же прямоугольник и шрифт, и я считаю, что тот же стиль текста. Константы просто размещают прямоугольник чуть ниже изображения, но я использую один и тот же прямоугольник для обоих вызовов, поэтому я уверен, что прямоугольник правильный.
(Обратите внимание, чтоbs.name ниже используется объект NSString)
CGRect textRect = CGRectMake(fCol*kRVCiPadAlbumColumnWidth,
kRVCiPadAlbumColumnWidth-kRVCiPadTextLabelYOffset,
kRVCiPadAlbumColumnWidth,
kRVCiPadTextLabelHeight);
NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
textStyle.lineBreakMode = NSLineBreakByWordWrapping;
textStyle.alignment = NSTextAlignmentCenter;
UIFont *textFont = [UIFont systemFontOfSize:16];
Это не работает (ничего не рисуется на экране) с использованием переменных сверху
[bs.name drawInRect:textRect
withAttributes:@{NSFontAttributeName:textFont,
NSParagraphStyleAttributeName:textStyle}];
Это работает (строка рисуется правильно на экране), используя те же переменные сверху
[bs.name drawInRect:textRect
withFont:textFont
lineBreakMode:NSLineBreakByWordWrapping
alignment:NSTextAlignmentCenter];
Любая помощь будет отличной. Благодарю.