2009-04-16 9 views
1

私のような行があります。ベストな方法UILabel

 
-Image- This is simply a test 
-Image- but I want to know how 
to separate the two lines. What 
to do here? 

を私はiPhone上で実装するために把握することができる最高の方法は次のとおりです。

 
UIImageView UILabel1 
      UILabel1 
UILabel2 

がある場合UI要素でこれを行う簡単な方法 - 私はすべての耳です。それ以外の場合は、sizeWithFontを使用して試行錯誤することなく、テキストがUILabel1でどこで終わるかを調べようとしています。

さらに複雑な方法は、sizeWithFontを使用してそのフォントサイズで各文字のサイズを見つけて、それをすべて一緒に追加することです(UILabel1の1行目と2行目の両方に折り返します)。これは簡単な問題を解決する難しい方法のように感じます。誰でも簡単な方法を知っていますか?

+0

実際にテキストが1行目から始まり、画像の右側から2行目に、画像の右側から3行目になるようにしたいのですか? – philsquared

答えて

1

おそらくこれはあなたが探している答えではありませんが、この種のレイアウトはWebViewで簡単に行えます。

効率的な観点から、UILabelとにかくWebViewsを使用してテキストレンダリングが実装されています。

This article by Craig Hockenberryは [一致] UILabelの 実装で使用されるものは、[...]これまで

完璧

からであり、またあることを確認することを壊す

使用メトリクスとラインにしようとしていることを示唆していますUILabelはフードの下でWebViewsを使用しています(これは、テキスト集約型のアプリケーションのSharkダンプでも簡単に見られます)。

+0

私はそれがUIWebViewで簡単だと同意します。私はUILabelsがWebViewを使用しているとは思わない(あなたはWebViewがどれくらい高価なのか知っていますか?)。 drawTextInRectを使用して文字列を描画します。 (私はこれが答えだったと思う - それは超簡単です)。私はCraigの記事で参考文献を見ていませんでした(他の証拠がある場合 - Cを好きになるかもしれません) –

+0

Craigの記事の引用は「UILabelの基礎となるWebView」です。 WebKitは重量があるので、UILabelsでも使うことに驚きました。 – duncanwilcox

1

NSString s = @ "最初の行\ n 2番目の行\ n最後の行";

関連する問題