'sizeWithAttributes'使用时崩溃

时间:2015-06-29 09:07:41

标签: ios8 nsstring size nsattributedstring

我的ios7项目中包含以下代码,用于衡量具有特定字体和大小的string的大小,

CGSize size = [someText sizeWithAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"uthmani" size:23.0f]}]; 

但它崩溃了以下消息:

  

*由于未捕获的异常'NSInvalidArgumentException'而终止应用,原因:'* - [__ NSPlaceholderDictionary   initWithObjects:forKeys:count:]:尝试从中插入nil对象   对象[0]'

请帮助一下,谢谢。

1 个答案:

答案 0 :(得分:1)

 CGSize maximumLabelSize = CGSizeMake(maxTextWidth, CGFLOAT_MAX);
 CGRect textRect = [str boundingRectWithSize:maximumLabelSize
                                                        options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
                                                     attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:messageTextSize]}
                                                        context:nil];

 CGSize messageSize = textRect.size;

尝试这个希望它会很有用