【问题标题】:SizeWithFont deprecated in IOS7IOS7 中不推荐使用 SizeWithFont
【发布时间】:2014-11-03 05:46:45
【问题描述】:

如何改变

CGSize size=[tempStr sizeWithFont:[UIFont boldSystemFontOfSize:17]  constrainedToSize:CGSizeMake(200, 56)];

使其适用于 IOS7

【问题讨论】:

标签: objective-c ios7


【解决方案1】:

您必须使用sizeWithAttributes:,例如:

UIFont *font = [UIFont boldSystemFontOfSize:17.0f];
NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
CGSize size = [tempStrig sizeWithAttributes:attrDictionary];

【讨论】:

    【解决方案2】:
        CGFloat finalHeight;
    
        CGSize constrainedSize = CGSizeMake(requiredWidth,9999);
    
        NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:yourRequiredFont, NSFontAttributeName,nil];
    
        NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:yourText attributes:attributesDictionary];
    
        CGRect requiredHeight = [string boundingRectWithSize:constrainedSize options:NSStringDrawingUsesLineFragmentOrigin context:nil];
    
        if (requiredHeight.size.width > requiredWidth) {
            requiredHeight = CGRectMake(0,0,requiredWidth, requiredHeight.size.height);
        }
    
        finalHeight=requiredHeight.size.height;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 2012-11-14
      • 2019-05-13
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多