出现这样的警告意思 该方法在ios7.0以后 不在适用。废话不说直接上例子:
一、第一种:
//老方法
CGSize labelSize = [label.text sizeWithFont:detailsLabel.font];
//修改后
CGSize labelSize=[detailsLabel.textsizeWithAttributes:@{NSFontAttributeName:detailsLabel.font}];
二、第二种:
CGSize detailsLabelSize = [detailsLabel.text sizeWithFont:detailsLabel.font constrainedToSize:maxSize lineBreakMode:detailsLabel.lineBreakMode];
用boundingRectWithSize:options:attributes:context:函数替换
CGSize detailsLabelSize = [detailsLabel.text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:detailsLabel.font}context:nil].size;
注意!!
因为函数的返回值是CGRect类型,所以请在最后请加上.size
通过xcode跳入可以看到该方法如下有四个参数:
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSString *, id> *)attributes context:(nullable NSStringDrawingContext *)context
parameter1:(CGSize)类型的参数,控制文本的width和height
parmater4:context ,我们一般直接可以给个nil