Этот метод устарел в iOS 7.0:
drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:
Теперь используйте drawInRect:withAttributes:
.
Я не могу найти имя атрибута fontSize и базовую настройку.
Изменить
Спасибо @Puneet ответ.
На самом деле, я имею в виду, если у них нет этого ключа, как реализовать этот метод в iOS 7?
Как ниже метод:
+ (CGSize)drawWithString:(NSString *)string atPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font fontSize:(CGFloat)fontSize
lineBreakMode:(IBLLineBreakMode)lineBreakMode
baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment {
if (iOS7) {
CGRect rect = CGRectMake(point.x, point.y, width, CGFLOAT_MAX);
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineBreakMode = lineBreakMode;
NSDictionary *attributes = @{NSFontAttributeName: font, NSParagraphStyleAttributeName: paragraphStyle};
[string drawInRect:rect withAttributes:attributes];
size = CGSizeZero;
}
else {
size = [string drawAtPoint:point forWidth:width withFont:font fontSize:fontSize lineBreakMode:lineBreakMode baselineAdjustment:baselineAdjustment];
}
return size;
}
Я не знаю, как передать fontSize
и baselineAdjustment
в
attributes
словарь.
например.
Клавиша NSBaselineOffsetAttributeName
должна передать ему NSNumer
, а baselineAdjustment
- Enum
.
Нет ли другого способа передать две переменные?