首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >被NSStringDrawingOptions项目的含义弄糊涂了

被NSStringDrawingOptions项目的含义弄糊涂了
EN

Stack Overflow用户
提问于 2015-02-06 17:47:16
回答 1查看 7.2K关注 0票数 13

之后,我们可以使用- (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context来计算字符串大小,但我与NSStringDrawingOptions枚举上的注释混淆了。

NSStringDrawingUsesLineFragmentOrigin

这意味着指定的原点是线段原点,而不是基线原点。但是线段原点和基线原点是什么意思呢?

就像第95页上的WWDC 2013 Session 220 (高级文本布局和文本效果工具包) PDF一样。

如果线段原点表示蓝点,那么基线原点是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-06 17:55:13

From the official documentation

讨论

如果在options中指定了NSStringDrawingUsesLineFragmentOrigin,则它会根据需要对字符串文本进行换行以使其适合。如果字符串太大,无法完全放入矩形内,则该方法将缩放字体或调整字母间距,以使字符串适合给定的边界。

如果未在选项中指定NSStringDrawingUsesLineFragmentOrigin,则矩形的原点为唯一直线的基线。文本将显示在矩形上方,而不是矩形内部。例如,如果您指定一个从0,0开始的矩形,并绘制字符串‘’,则只会看到‘j’和‘p’的下级。文本的其余部分将位于矩形的顶部边缘。

此方法使用属性化字符串本身中指定的属性来绘制线条。如果字符串中存在换行符,则接受这些字符,并将后续文本放在起始点下的下一行上。

特殊注意事项此方法默认情况下使用基线原点,因此它将字符串呈现为单行。要在多行中呈现字符串,请在options.中指定NSStringDrawingUsesLineFragmentOrigin

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28362844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档