如何确定nsstring的哪个部分适合rect?

Her*_*ker 6 pdf-generation core-graphics objective-c nsstring uikit

这是关于使用核心图形的PDF格式.但是,当涉及在两个页面上打印字符串时,它可能是关于任何类型的分页.

我需要在几页上传播一个字符串.对于较小的字符串,这不是真正的问题.对于那些我使用NSString UIKit扩展sizeWithFont来确定全文是否适合当前页面的人.如果是,那么我打印它,drawInRect如果没有,那么我将它移动到下一页.

工作正常但不适合较长的琴弦.在我的应用程序中,单个字符串(由用户提供)甚至可能比整页更长.

当给定页面的整页或剩余空间时,如何确定NSString的哪个部分可以在给定的rect中显示,以便我可以将其剪切并打印剩余的字符串(或至少一部分)它的下一页?

我想到了另一种选择.即将全文绘制到屏幕外图形上下文中,然后将创建的图像剪切成适合页面上自由空间的切片.但如果我这样做,那么我需要将切割线准确地放在文本行之间.坦率地说,我不知道如何确定包含图形的文本可以安全地切割成两个(或更多)部分的位置,而不会在其中间切割一行文本.

我希望我表达自己可以理解,有人来救援.

Pet*_*sey 2

在Core Text中,有一个非常相关的函数,其最后一个参数(指向CFRange的指针)定义如下:

fitRange
返回时,包含实际适合约束大小的字符串范围。