我坚持更换已弃用的函数sizeWithFont

时间:2014-10-20 09:01:14

标签: objective-c deprecated

我有这个行代码。

 CGSize size = [(text ? text : @"") sizeWithFont:font constrainedToSize:CGSizeMake(220, 9999) lineBreakMode:NSLineBreakByWordWrapping];

函数sizeWithFont已被弃用。

在这里搜索后我找到了这个解决方案。 Replace the deprecation sizeWithFont:minFontSIze:actualFontSize in ios 7

我使用这种方法:

-(CGSize)frameForText:(NSString*)text sizeWithFont:(UIFont*)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode  {

NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
paragraphStyle.lineBreakMode = lineBreakMode;

NSDictionary * attributes = @{NSFontAttributeName:font,
                              NSParagraphStyleAttributeName:paragraphStyle
                              };


CGRect textRect = [text boundingRectWithSize:size
                                     options:NSStringDrawingUsesLineFragmentOrigin
                                  attributes:attributes
                                     context:nil];

//Contains both width & height ... Needed: The height
return textRect.size;

}

但我仍然不明白我发现的代码中的某些内容,因此我无法恢复原始行

此行代码的作用是什么? (text?text:@"")

如何将它发送到frameForText函数以使其适合我?

0 个答案:

没有答案