3

ここで、指定されたサイズの NSString のサイズを計算する必要がある人を見てきましたが、逆のことを行う必要があります。

指定された rect (または固定 UITextView、または複数行の UILabel、スクロールなし) が与えられた場合、次のことを知る必要があります。

  • 私の NSString のすべての文字を表示できた場合
  • そうでない場合、最後に表示された文字は何ですか

残りのテキストを別の UITextView に表示できるようにします (もちろん、単一の UITextView を使用できれば、この問題は発生しません)。

最初は簡単なことのように思えますが、実際には方法が見つかりません。直感的には、UITextView のいずれかを使用できると思います。

textView.contentSize.height;

または NSString の:

sizeWithFont:constrainedToSize:lineBreakMode:

または2つの組み合わせですが、正確である必要があり、これらのメソッドは、UITextViewの表示領域に収まった最後の文字を伝えるのに役立ちません.

これが実際に可能かどうかはわかりませんが、iOS のプログラミングは新聞を印刷するようなものであり、画像の周りにテキストをフォーマットできることを期待している私のクライアントの要件です....

4

1 に答える 1

1

1文字の長さの文字列から1行のテキストの最大高さを取得できるかもしれません。

sizeWithFont:constrainedToSize:lineBreakMode: でそれを使用すると、テキストが複数行にまたがっているかどうかを知ることができるはずです (cgsize の高さがテキストの 1 行の高さより大きい場合)。

最後の文字 (または単語) を見つけるには、文字列の長さをループして文字 (または単語) を追加し、新しい行を追加するために cgsize の高さがいつ増加するかを確認する必要があります。複数の文字列に分割する場合 (複数のフィールド/ラベル/テキストビューの場合)、またはテキストに改行を挿入する場合 (単一の複数行のテキストビューまたはラベルを使用する場合) の文字ポイント。

もっと簡単な方法を見つけていただければ幸いです...

于 2012-06-08T08:54:56.443 に答える