' sizeWithFont:constrainedToSize:lineBreakMode:'不推荐使用:首先在iOS 7.0中弃用 - 使用-boundingRectWithSize:options:attributes:context:

时间:2016-02-08 08:09:42

标签: objective-c ios7 xcode7 deprecation-warning

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

  

' 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链接哪些对我有帮助。

先谢谢。

1 个答案:

答案 0 :(得分: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));