gpt4 book ai didi

objective-c - sizeWithFont 方法已弃用。 boundingRectWithSize 返回一个意外的值

转载 作者:IT老高 更新时间:2023-10-28 11:23:15 24 4
gpt4 key购买 nike

在 iOS7 中,sizeWithFont 已被弃用,所以我使用 boundingRectWithSize(它返回一个 CGRect 值)。我的代码:

 UIFont *fontText = [UIFont fontWithName:[AppHandlers zHandler].fontName size:16];
// you can use your font.

CGSize maximumLabelSize = CGSizeMake(310, 9999);

CGRect textRect = [myString boundingRectWithSize:maximumLabelSize
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:fontText}
context:nil];

expectedLabelSize = CGSizeMake(textRect.size.width, textRect.size.height);

textRect 中,我得到的尺寸大于我的 maximumLabelSize,与使用 sizeWithFont 时的尺寸不同。我该如何解决这个问题?

最佳答案

如何创建新标签并使用 sizeThatFit:(CGSize)size ??

UILabel *gettingSizeLabel = [[UILabel alloc] init];
gettingSizeLabel.font = [UIFont fontWithName:@"YOUR FONT's NAME" size:16];
gettingSizeLabel.text = @"YOUR LABEL's TEXT";
gettingSizeLabel.numberOfLines = 0;
gettingSizeLabel.lineBreakMode = NSLineBreakByWordWrapping;
CGSize maximumLabelSize = CGSizeMake(310, CGFLOAT_MAX);

CGSize expectSize = [gettingSizeLabel sizeThatFits:maximumLabelSize];

编辑:上面的代码不适用于ios 7及以上,所以请在下面使用:

CGRect textRect = [myString boundingRectWithSize:maximumLabelSize   
options:NSStringDrawingUsesLineFragmentOrigin| NSStringDrawingUsesFontLeading
attributes:@{NSFontAttributeName:fontText}
context:nil];

关于objective-c - sizeWithFont 方法已弃用。 boundingRectWithSize 返回一个意外的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19398674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com