1

我的应用程序太旧了。现在,我想用最新的 IOS 进行更新。我的部署目标是 6.0,但是当我将部署目标 6.0 更改为 7.1 时。我的应用程序引发了太多警告。这是其中之一:

'sizeWithFont:constrainedToSize:lineBreakMode:' 已弃用:在 iOS 7.0 中首次弃用 - 使用 -boundingRectWithSize:options:attributes:context:

警告出现在这一行:

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

我将尝试使用此代码。但我不知道如何添加换行模式。请检查:

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

我已经签入了 StackOverflow。但由于lineBreakMode,我对检查的答案不满意。
可能是我错过了一些好的答案。还告诉我 StackOverflow 链接,这将对我有所帮助。

提前致谢。

4

1 回答 1

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));
于 2016-02-10T17:35:17.823 回答