方法定义
1 | - (NSRect)boundingRectWithSize:(NSSize)size |
参数定义
size
绘制的限制size,计算出来的值不会超过这个大小。
options
一些配置项。定义如下:
1 | typedef NS_OPTIONS(NSInteger, NSStringDrawingOptions) { |
实际测试使用NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
可以满足需求,NSStringDrawingUsesLineFragmentOrigin
是必须的,NSStringDrawingUsesFontLeading
加不加在测试的时候没发现区别,但是在stackoverflow相关讨论里加上了,留个坑,后面知道为什么了来补充吧。
attributes
字体
context
上下文
注意事项
- 如果是多行文字,options要加上
NSStringDrawingUsesLineFragmentOrigin
- 返回的值是小数,需要调用
ceil
向上取整 - 得到的宽度可能比实际宽
代码示例
1 | + (CGSize)getTextLabelSize:(NSString *)message { |