CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attributedString);CGSize tmpSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter,CFRangeMake(0,0),NulL,CGSizeMake(self.vIEw.bounds.size.wIDth,CGfloat_MAX),NulL); CGSize textBoxSize = CGSizeMake((int)tmpSize.wIDth + 1,(int)tmpSize.height + 1);解决方法 CTFramesetterSuggestFrameSizeWithConstraints()已损坏.我一回来就提交了一个BUG.您的替代方法是使用CTFramesetterCreateFrame(),其路径足够高.然后你可以测量你得到的CTFrame的rect.请注意,您不能使用CGfloat_MAX作为高度,因为CoreText使用来自iPhone的翻转坐标系,并将其文本定位在框的“顶部”.这意味着如果您使用CGfloat_MAX,您将没有足够的精度来实际告诉盒子的高度.我建议使用像10,000这样的高度,因为它比屏幕本身高10倍,而且为结果矩形提供足够的精度.如果您需要布置更高的文本,您可以对文本的每一部分进行多次(您可以询问CTFrameRef的原始字符串中的范围). 总结
以上是内存溢出为你收集整理的iphone – CTFramesetterSuggestFrameSizeWithConstraints有时返回不正确的大小?全部内容,希望文章能够帮你解决iphone – CTFramesetterSuggestFrameSizeWithConstraints有时返回不正确的大小?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)