2016-02-08 53 views
1

我的應用太舊。現在,我想用最新的IOS更新。我的部署目標是6.0,但是當我將部署目標6.0更改爲7.1時。我的應用程序拋出太多警告。而這就是其中之一:'sizeWithFont:constrainedToSize:lineBreakMode:'已棄用:iOS 7.0中首次棄用 - 使用-boundingRectWithSize:選項:屬性:上下文:

'sizeWithFont:constrainedToSize:lineBreakMode:' 已過時:在IOS 7.0棄用第一 - 使用 -boundingRectWithSize:選項:屬性:背景:

警告發生在這一行:

CGSize expectedLength = [str sizeWithFont:str.font constrainedToSize:max lineBreakMode:str.lineBreakMode]; 

我會試着用這段代碼。但我不知道如何添加換行符模式。請檢查:

CGSize mysize = [str sizeWithAttributes:@{NSFontAttributeName: str.font}]; 

我已經在StackOverflow中檢查過。但我不滿意檢查的答案,因爲lineBreakMode
可能是我錯過了一些很好的答案。另外告訴我,這將幫助我的StackOverflow鏈接。

在此先感謝。

+0

你不是說你不喜歡的'lineBreakMode',也許如果你表現出你現有的代碼,新代碼你試過和什麼不工作的人可能會幫助 – Flexicoder

+0

好吧,我會添加我嘗試過的新代碼。 –

+0

@Flexicoder請檢查我更新的問題。 –

回答

1

謝謝大家。在另一個問題的幫助下,我終於解決了我的問題。這裏是我的代碼,我用舊的代碼替換:

CGSize max = CGSizeMake(str.frame.size.width, 500); 
    CGRect expected1 = [str boundingRectWithSize:max options:NSStringDrawingUsesLineFragmentOrigin 
    attributes:@{NSFontAttributeName: str.font } context:nil]; 
    CGSize expected = expected1.size; 
    NSLog(@"expected %@",NSStringFromCGSize(expected)); 
相關問題