该方法(sizeWithFont: forWidth: lineBreakMode:)在iOS 7.0中已弃用.
但是如何在iOS 7.0中执行相同的操作呢?
CGSize fontSize =[self.text sizeWithFont:self.font forWidth:self.frame.size.width lineBreakMode:NSLineBreakByTruncatingTail];
Run Code Online (Sandbox Code Playgroud)
可以(boundingRectWithSize:options:attributes:context:)这样吗?我不确定,但这是我在Apple文档中搜索的方法.
谢谢你的协助.
mat*_*ias 15
我有一个NSString类别来获取字符串的宽度或高度:
- (CGFloat)widthWithFont:(UIFont *)font
{
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil];
return [[[NSAttributedString alloc] initWithString:self attributes:attributes] size].width;
}
- (CGFloat)heigthWithWidth:(CGFloat)width andFont:(UIFont *)font
{
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:self];
[attrStr addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, [self length])];
CGRect rect = [attrStr boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
return rect.size.height;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5008 次 |
| 最近记录: |