2015-06-29 67 views
0

我有我的ios7工程測量與特定的字體和大小string的大小下面的代碼,崩潰時「sizeWithAttributes」使用

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

,但它與下面的消息崩潰:

*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是:「* - [__ NSPlaceholderDictionary initWithObjects:forKeys:數:]:嘗試從插入零對象objects [0]'

請幫助某人,謝謝。

+0

檢查'的值[UIFont fontWithName:@ 「uthmani」 尺寸:23.0f]'。 – Larme

+0

@Larme:檢查...爲什麼它是'空'? –

+0

因爲它似乎沒有被正確添加到您的項目中,並且似乎是自定義字體。檢查如何添加自定義字體。 – Larme

回答

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; 

與這個希望嘗試將是有益