首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式为:位置/放置的NSString字符串

格式为:位置/放置的NSString字符串
EN

Stack Overflow用户
提问于 2016-06-05 03:00:32
回答 1查看 64关注 0票数 0
代码语言:javascript
复制
//Screen Size Label
if (_screenFontEnable) {
        [_sfColor set];
        NSString *canvasLabel = [NSString stringWithFormat:@"%@ \n W:%i/H:%i",_label,screenSizeWidth,screenSizeHeight ];
        [canvasLabel drawAtPoint:NSPointFromString([NSString stringWithFormat:@"{%i,%i}",boarder+(((screenSizeWidth/2)-_screenFontSize)),boarder+((screenSizeHeight/2)-_screenFontSize)]) withAttributes:@{NSFontAttributeName:[NSFont systemFontOfSize:screensize], NSForegroundColorAttributeName:_sfColor}];
}

你好,所以我试图将我的文本居中,由用户输入像素绘制的矩形的中心它可以是100x1001000x1000,因为他们喜欢来自ScreenSizeWidthScreenSizeHeight的。用户还可以输入打印在绘制矩形顶部的ScreenFontSizescreenFontsize会改变,屏幕大小也会改变,因此在矩形中打印的字符数也会改变。

我想出了如何将它放在垂直轴的中心,但不知道如何水平放置。

这个想法可能是以某种方式获得屏幕尺寸标签的宽度,并以矩形宽度的大小为中心,但如何做到这一点超出了我的能力范围。

下面是它在上面的当前代码中打印的内容-- enter image description here

EN

回答 1

Stack Overflow用户

发布于 2016-06-05 12:18:21

您可以使用NSString方法之一:

代码语言:javascript
复制
- (NSSize)sizeWithAttributes:(NSDictionary<NSString *, id> *) attributes
- (NSRect)boundingRectWithSize:(NSSize)size
                       options:(NSStringDrawingOptions)options
                    attributes:(NSDictionary<NSString *, id> *)attributes
                       context:(NSStringDrawingContext *)context

确定渲染时文本的长度,然后计算居中所需的数学运算。

HTH

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

https://stackoverflow.com/questions/37633923

复制
相关文章

相似问题

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