6

OSX アプリケーションで複数行の UILabel の動作をシミュレートしたいと考えています。複数行のラベルを描画すると、行数を指定でき、改行システムがうまく機能します!

これが私が達成したいことの例です。

これは、UILabel で表示したい文字列です

Lorem Ipsum is simply dummy text of the printing and typesetting industry. 

末尾が切り捨てられた3 行のラベルを選択できます。

 Lorem Ipsum is simply 
 dummy text of the 
 printing and typeset...

または、末尾が切り捨てられた 2 行のラベルを使用すると、次のようになります。

 Lorem Ipsum is simply 
 dummy text of the pri... 

そのように文字列を描画するには、低レベルの API が必要だと思います。

現在、テキストを描画する 3 つの異なる方法を見つけており、このタスクを達成するのに適切な方法を理解したいと考えています。


ココアテキスト

NSTextView と NSTextField: レベルが高すぎるようです... この効果を再現できません (NSTextView では行数を選択できず、改行によって複数行の NSTextView が 1 つに変換されているようです)行 NSTextView)。

編集 文字列からフレームを取得し、フレームから行を取得し、必要な行のみを使用してフレームを再構築すると考えました。どう思いますか?


コアテキスト

フレームを使用してテキスト描画をうまく制御できますが、表示する行数と文字列を切り捨てる方法を定義する方法が見つかりません。


NSLayoutManager

それも良い解決策のようですが、UILabel の複数行効果を再現する方法がわかりません。

このトリッキーな仕事で私を助けるための提案はありますか?

4

0 に答える 0