gpt4 book ai didi

cocoa - NSString sizeWithAttributes : content rect

转载 作者:行者123 更新时间:2023-12-03 16:03:58 26 4
gpt4 key购买 nike

如何获得 NSString 的大小,就好像它在 NSRect 中绘制一样。问题是当我尝试 -[NSString sizeWithAttributes:] 时,它返回一个 NSSize ,就好像它具有无限宽度一样。我想给该方法一个最大宽度。有什么办法可以这样做吗? (顺便说一句:Mac 操作系统,不是 iPhone 操作系统)

谢谢,亚历克斯

最佳答案

float heightForStringDrawing(NSString *myString, NSFont *myFont,
float myWidth)
{
NSTextStorage *textStorage = [[[NSTextStorage alloc] initWithString:myString] autorelease];
NSTextContainer *textContainer = [[[NSTextContainer alloc] initWithContainerSize:NSMakeSize(myWidth, FLT_MAX)] autorelease];
;
NSLayoutManager *layoutManager = [[[NSLayoutManager alloc] init] autorelease];
[layoutManager addTextContainer:textContainer];
[textStorage addLayoutManager:layoutManager];
[textStorage addAttribute:NSFontAttributeName value:myFont
range:NSMakeRange(0, [textStorage length])];
[textContainer setLineFragmentPadding:0.0];

(void) [layoutManager glyphRangeForTextContainer:textContainer];
return [layoutManager
usedRectForTextContainer:textContainer].size.height;
}

毕竟它在文档中。不管怎样,谢谢约书亚!

关于cocoa - NSString sizeWithAttributes : content rect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com