如果我有一个框架集,我用类似的字符串初始化
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attrString);
我想找到显示帧中最大字符串的最小宽度。是否有捷径可寻?我可以通过迭代线并运行并从那里计算它来做到这一点,但它似乎有一个方法,因为它会在内部计算。
我试过
CGSize sz = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0,0), NULL, CGSizeMake(1, CGFLOAT_MAX), NULL);
但它只返回一个常量大小,似乎是单个字形的宽度。
TIA
答案 0 :(得分:1)
如果您正在寻找宽度,则应将CGFLOAT_MAX传递给CGSizeMake中的宽度,以指示宽度不受约束。
一般来说,要查找给定宽度的高度,请传递CGSizeMake(myWidth,CGFLOAT_MAX),并查找单行文本的宽度,传递CGSizeMake(CGFLOAT_MAX,CGFLOAT_MAX)。