在Cocoa(MAC OSX)中确定字符串的像素长度

6

我需要在OSX上用Cocoa找出NSString的像素长度,我已经找到了一些链接描述如何使用IPhone sdk来实现这一点,但我没有看到有关如何在不针对IPhone的情况下实现这一点的任何信息。是否有人可以给我提供一些相关文档的链接呢?我在NSString文档中没有发现任何东西。


2
不要考虑像素——它们是设备的产物。除非你直接与设备交互,或者直接使用光栅(“位图”)缓冲区,否则你不是在处理像素。矢量操作,包括字符串的测量和绘制,都使用用户空间单位:http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Transforms/Transforms.html#//apple_ref/doc/uid/TP40003290-CH204-SW5 - Peter Hosey
2个回答

7

3
附带说明:你在NSString文档中找不到它的原因是它依赖于AppKit中的几个东西,因此它属于一个单独的类别。 - cobbal

4

以下是我用来获取字符串大小的方法...

NSSize size = [@"Some text" sizeWithAttributes:[NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Helvetica Neue Bold" size:24.0f] forKey:NSFontAttributeName]];

注意:如果您要将字符串添加到文本字段中,我发现您需要将size.width增加约10个单位才能使其适配。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接