12

2 つの異なるスタイル (異なる色、太字のテキストの一部) を持つテキストで UILabel を表示する必要があります。これは attributedText-property を使用することで簡単に解決できます。

私の問題は、テキストがラベルに収まる長さよりも長い場合とそうでない場合があることです。プレーンテキストを使用すると、すべてが思いどおりに機能します。テキストは、ラベルの行数に合わせてワード ラップされ、テキストがラベルに表示できるよりも長い場合は末尾が切り捨てられます。

attributedText の使用に切り替えると、末尾の切り捨てとワード ラッピングのどちらかしか選択できません。末尾を切り捨てたい場合、ラベルは末尾が切り捨てられた 1 行のみをレンダリングします (10 行に収まる場合でも)。ワード ラッピングを選択すると、末尾は切り捨てられませんが、ラベルに収まらない行は単に表示されません。

私のコンテンツ文字列には改行が含まれていません。これは単なる 1 つの長い文字列です。

4

4 に答える 4

5

これを機能させることができた唯一の方法は、段落スタイルを設定しないことです。

于 2013-08-16T03:13:54.013 に答える
2

これを試して:

[_text drawWithRect:_textRect オプション: NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine 属性:属性コンテキスト:nil];

于 2015-11-17T06:58:42.673 に答える
0

を好きなように設定し、NSParagraphStylelineBreakMode使用して文字列に適用できますNSParagraphStyleAttributeName。のすべての値がサポートされているかどうかはわかりませんが、NSLineBreakModeサポートされていないと信じる理由はありません。

于 2013-05-30T08:48:15.970 に答える