'sizeWithFont:constrainedToSize:lineBreakMode:' 已弃用:首先在 iOS 7.0 中弃用 - 使用 -boundingRectWithSize:options:attributes:context:
'sizeWithFont:constrainedToSize:lineBreakMode:' is deprecated: first deprecated in iOS 7.0 - Use -boundingRectWithSize:options:attributes:context:
我的应用太旧了。现在,我想更新最新的 IOS。我的部署目标是 6.0,但是当我将我的部署目标 6.0 更改为 7.1 时。我的应用程序发出了太多警告。这是其中之一:
'sizeWithFont:constrainedToSize:lineBreakMode:' is deprecated: first
deprecated in iOS 7.0 - Use
-boundingRectWithSize:options:attributes:context:
警告出现在这一行:
CGSize expectedLength = [str sizeWithFont:str.font constrainedToSize:max lineBreakMode:str.lineBreakMode];
我会尝试使用此代码。但我不知道如何添加换行模式。请检查:
CGSize mysize = [str sizeWithAttributes:@{NSFontAttributeName: str.font}];
我已经在 Whosebug 上查看过了。但由于 lineBreakMode.
,我对已检查的答案不满意
可能是我错过了一些好的答案。还告诉我 Whosebug link 这对我有帮助。
提前致谢。
谢谢大家。在另一个问题的帮助下,我终于解决了我的问题。这是我用旧代码替换的代码:
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));
我的应用太旧了。现在,我想更新最新的 IOS。我的部署目标是 6.0,但是当我将我的部署目标 6.0 更改为 7.1 时。我的应用程序发出了太多警告。这是其中之一:
'sizeWithFont:constrainedToSize:lineBreakMode:' is deprecated: first deprecated in iOS 7.0 - Use -boundingRectWithSize:options:attributes:context:
警告出现在这一行:
CGSize expectedLength = [str sizeWithFont:str.font constrainedToSize:max lineBreakMode:str.lineBreakMode];
我会尝试使用此代码。但我不知道如何添加换行模式。请检查:
CGSize mysize = [str sizeWithAttributes:@{NSFontAttributeName: str.font}];
我已经在 Whosebug 上查看过了。但由于 lineBreakMode.
,我对已检查的答案不满意
可能是我错过了一些好的答案。还告诉我 Whosebug link 这对我有帮助。
提前致谢。
谢谢大家。在另一个问题的帮助下,我终于解决了我的问题。这是我用旧代码替换的代码:
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));