Я работаю над новой версией своего приложения и пытаюсь заменить устаревшие сообщения, но не могу пройти мимо этого.
Я не могу понять, почему 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];
Любая помощь будет отличной. Спасибо.