objective-c - 如何获取 NSString 的宽度?

标签 objective-c cocoa nsstring

我正在尝试获取 NSString 的宽度(例如 NSString *myString = @"hello")。有没有办法做到这一点?

谢谢。

最佳答案

这是一个相对简单的方法。只需创建一个具有适当字体的 NSAttributedString 并询问其大小:

- (CGFloat)widthOfString:(NSString *)string withFont:(NSFont *)font {
     NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil];
     return [[[NSAttributedString alloc] initWithString:string attributes:attributes] size].width;
 }

关于objective-c - 如何获取 NSString 的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3429671/

相关文章:

objective-c - 同时在多个 UIView 上接收触摸事件

objective-c - Objective-C 项目的 CMakeLists.txt

objective-c - NSRunningApplication - 终止

ios - 通过 CloudFront (Amazon) 下载图像

cocoa - 我可以更改 NSScreen 可见框架吗?

ios - 通过此方法更改NSURL字符串stringByAddingPercentEncodingWithAllowedCharacters

cocoa - 不带子域的 NSURL 的主机

cocoa - 非ARC下如何清零弱引用?

ios - 为 UILabel 添加自定义空间

ios - NSString 从 UITextView 中的光标位置搜索字符