将sizeWithFont:constrainedToSize转换为boundingRectWidth

时间:2016-01-27 07:51:10

标签: ios

所以我只是在一个旧的iOS项目中进行了调查,然后它说它已被弃用:

CGSize stringSize = [string sizeWithFont:self.stringLabel.font constrainedToSize:CGSizeMake(200, 300)];

它说我应该使用boundingRectWidth但是如果我尝试使用

CGSize stringSize = [string sizeWithFont:self.stringLabel.font boundingRectWidth:CGSizeMake(200, 300)]; 

我正在尝试将部署目标升级到9.0,因为其中一个库是为7.0 +构建的,这就是为什么我真的必须更新它。它说它不存在,不知道我做错了什么?

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码。您可以在调用boundingRectWithSize时传递属性字典。在你的情况下,字典将包含Font属性。

CGRect stringSize = [string boundingRectWithSize:CGSizeMake(200, 300) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: self.stringLabel.font} context:nil];

希望有所帮助!

答案 1 :(得分:1)

使用以下代码更改您的代码: -

Application->ProcessMessages();

注意: - 如果需要在宽度中设置文本,则将其宽度设置为任何数字,即示例代码中的1000,并将高度设置为所需的尺寸。相同如果要将文本设置为高度,则将高度设置为等于所需尺寸的随机数和宽度。