1

viewWidth = rectOftable.size.width;rectOftable がコンテンツ ビューのサイズ (幅と高さ) の四角形である、特定のビュー幅サイズ (例: から取得した 450 ) があります。ここで、文字列を含む NSAttributedString を作成しました。文字列のサイズは 450 より大きい場合があります (例: 1100 )。

私がする必要があるのは、この NSAttributedString を、指定された幅 (ここでは 450、ビューのサイズ) に関して複数の部分文字列に分割することです。したがって、ここでは 1100/450 = 2+1 行を表示する必要があります。

現在、私ができることは、NSAttributedString を長さだけで分割することです。つまり[attrStr attributedSubstringFromRange:NSMakeRange(startIndex, 170)] 、ここでは 170 が現在の長さですが、サイズは 1100 です。

代わりに NSAttributedString を幅で分割するにはどうすればよいですか? これに関してはどこにも言及されていません。

4

2 に答える 2

0

あなたが求めているのは複雑な問題です。所定のスペースに何が収まるかは、フォント、フォント サイズ、およびその他の要因によって異なります。これらはすべて、NSAttributedString. これが、OS X がすべてを処理するクラスを提供する理由です。NSTextViewNSTextNSLayoutManagerなどを参照してください。

本当に自分でテキストを分割する必要がありますか? そうでない場合は、提供されているクラスを使用してください。はいの場合は、読む必要があります。

于 2013-05-29T03:37:40.447 に答える