如何修复'sizeWithFont:constrainedToSize:lineBreakMode:'不推荐使用:警告

Utk*_*maz 0 objective-c ios deprecation-warning

我的代码是

CGSize textSize =  [text sizeWithFont:font constrainedToSize:CGSizeMake(self.bounds.size.width - 106, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何解决此警告?

She*_*n S 11

迅速

 // adjust the label height (top align text)
// old
var labelSize: CGSize = model.name.sizeWithFont(self.nameLabel.font,  constrainedToSize: maxNameLabelSize, lineBreakMode: self.nameLabel.lineBreakMode)
// new
var labelSize: CGSize = model.name.boundingRectWithSize(maxNameLabelSize, options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName: self.nameLabel.font], context: nil).size
Run Code Online (Sandbox Code Playgroud)

目标c

 // adjust the label height (top align text)
 // old
CGSize labelSize = [model.name sizeWithFont:self.nameLabel.font
                      constrainedToSize:_maxNameLabelSize
                          lineBreakMode:self.nameLabel.lineBreakMode];
 // new
CGSize labelSize = [model.name boundingRectWithSize:_maxNameLabelSize
                                        options:NSStringDrawingUsesLineFragmentOrigin
                                     attributes:@{NSFontAttributeName: self.nameLabel.font}
                                        context:nil].size;
Run Code Online (Sandbox Code Playgroud)