もっとお役に立てれば幸いですが、少なくとも正しい方向に向けることはできると思います。
まず、あなたのアイデアは非常に可能性が高いように見えますが、テキスト サイズの計算が多くなり、見苦しく、理想的な結果が得られない可能性があります。私が見ている方法は、文字列の一部を sizeWithFont: でテストするバイナリ検索です。ラベルがそのサイズに収まり、それでも「正しく」見えるものを推測できるようになるまで。次に、実際に文字列を分割して、バラバラに追跡する必要があります...間違っているようです。
iOS 6 (残念ながら今はあなたには当てはまりませんが、他の人にとっての潜在的な利点として投稿します) では、おそらく 1 つの UILabel と NSAttributed 文字列を使用できます。ここで使用するオプションがいくつかあります (私はそれを行っていないので、どれが最適かはわかりません) が、html でページをフォーマットできれば、属性付きの文字列を初期化できるようです。その方法。
ドキュメントから: 初期化メソッド initWithHTML:documentAttributes: および initWithHTML:baseURL:documentAttributes: を使用して、HTML データから属性付き文字列を作成できます。メソッドは、HTML で定義されたテキスト属性を文字列の属性として返します。これらは、「RTF ファイルと属性付き文字列」で説明されているように、NSDictionary オブジェクトへの参照によって、HTML で定義されたドキュメント レベルの属性 (用紙や余白のサイズなど) を返します。メソッドは HTML を可能な限り Cocoa テキスト システムの構造に変換しますが、Application Kit は任意の HTML の完全で真のレンダリングを提供しません。
ここでの代替手段は、画像サイズに応じて行のインデントなどを設定して、利用可能な属性を使用することです。私はこのレベルで属性付き文字列を扱ったことがないので、開発者のビデオと NSAttributedString のプログラミング ガイドが最も参考になります。https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/AttributedStrings/AttributedStrings.html#//apple_ref/doc/uid/10000036-BBCCGDBG
より古いバージョンの iOS では、CoreText に慣れたほうがよいでしょう。最終的には、見栄えの良い結果、再利用性/柔軟性などのメリットが得られます。リストは続きます。そのためには、CoreText プログラミング ガイドから始めます: https://developer.apple.com/library/mac/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction/Introduction.html
他の誰かがサンプル コードを提供してくれるかもしれませんが、ドキュメントを調べるだけで、そのような 4 つのラベルを計算しようとするよりも頭痛が軽減されると思います。
編集: CoreText のリンクを変更しました