我有这个行代码。
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函数以使其适合我?