计算字符串绘制所需宽高
[str boundingRectWithSize: options: attributes: context:];
可以用该方法在绘制之前计算需要多大空间。
参数
size
宽高限制,用于计算文本绘制时占据的矩形块。
options
文本绘制时的附加选项。
context
context上下文。包括一些信息,例如如何调整字间距以及缩放。最终,该对象包含的信息将用于文本绘制。该参数可为 nil 。
返回值
一个矩形,大小等于文本绘制完将占据的宽和高。
size 参数是一个constraint ,用于在绘制文本时作为参考。但是,如果绘制完整个文本需要更大的空间,则返回的矩形大小可能比 size 更大。一般,绘制时会采用constraint 提供的宽度,但高度则会根据需要而定。
NSStringDrawingOptions
文本绘制选项。
enum {
NSStringDrawingTruncatesLastVisibleLine= 1 << 5,
NSStringDrawingUsesLineFragmentOrigin= 1 << 0,
NSStringDrawingUsesFontLeading= 1 << 1,
NSStringDrawingUsesDeviceMetrics= 1 << 3,
};
typedef NSInteger NSStringDrawingOptions;
常量
NSStringDrawingTruncatesLastVisibleLine
如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果指定了NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略。(Truncate:截取、删节)
NSStringDrawingUsesLineFragmentOrigin
绘制文本时使用 line fragement origin 而不是 baseline origin。(整个文本将以每行组成的矩形为单位计算整个文本的尺寸。)
(fragement:断裂、拆分、破裂;碎片,片段;)
NSStringDrawingUsesFontLeading
计算行高时使用行间距。(字体大小+行间距=行高)
NSStringDrawingUsesDeviceMetrics
计算布局时使用图元字形(而不是印刷字体)。