Cómo usar NSString's sizeWithFont y drawInRect para entrenar cuánto de una cuerda para dibujar

Estoy dibujando varias 'páginas' de imágenes usando un CGContext en iOS. He usado las combinaciones sizeWithFont y drawInRect ampliamente en mi aplicación. Lo que necesito hacer es dividir una gran parte del texto en varias páginas. Puedo dimensionarlo y determinar si necesita o no otra página, pero ¿cómo sé dónde cortarlo? ¿Tengo que hacer un bucle feo para verificar palabra por palabra hasta que encuentre una longitud de cadena que se ajuste perfectamente a la página y luego cortar la cadena en ese punto? ¿Hay una manera más inteligente?

¿Algunas ideas?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta