Replacement for deprecated sizeWithFont: in iOS 7?

后端 未结 20 1278
难免孤独
难免孤独 2020-11-22 08:49

In iOS 7, sizeWithFont: is now deprecated. How do I now pass in the UIFont object into the replacement method sizeWithAttributes:?

20条回答
  •  無奈伤痛
    2020-11-22 08:57

    Use sizeWithAttributes: instead, which now takes an NSDictionary. Pass in the pair with key UITextAttributeFont and your font object like this:

    CGRect rawRect = {};
    rawRect.size = [string sizeWithAttributes: @{
        NSFontAttributeName: [UIFont systemFontOfSize:17.0f],
    }];
    
    // Values are fractional -- you should take the ceil to get equivalent values
    CGSize adjustedSize = CGRectIntegral(rawRect).size;
    

提交回复
热议问题