UILabel では、特定の場所で行が改行されないように強制することは可能ですか? 質問する

UILabel では、特定の場所で行が改行されないように強制することは可能ですか? 質問する

2 行の長さの UILabel があります。テキストはフランス語と英語にローカライズされています。

ラベルの attributedText プロパティを設定しています。テキストは、textFragment1、textFragment2、textFragment3 という 3 つの追加文字列から構成されます。中央の文字列は、実際には NSTextAttachment で作成された画像です。

textFragment2 と textFragment3 が同じ行にあることを確認したいです。最初の文字列は、長さに応じて折り返される場合とされない場合があります。問題は、私のフランス語のテキストが現在かなり短いため、textFragment2 の後で行が折り返されることです。

私は、textFragment1 のローカライズされたフランス語テキストに改行記号を追加することで、これを一時的に修正しました。ただし、この解決策はあまり気に入っていません。textFragment2 と textFragment3 を常に同じ行にまとめる方法があるかどうか疑問に思っています。

ベストアンサー1

textFragment2 と textFragment3 を結合するには、改行不可スペース ( \u00A0) を使用できます。この文字は通常のスペースと同じように見えますが (つまり、同じ量の空白が生成されます)、その両側で改行は行われません。

ゼロ幅スペース ( \u2060) を使用することもできます。この文字を使用すると空白は生成されませんが、どちらの側でも改行は行われません。textFragment2 と textFragment3 の間にスペースを入れたくないが、そこでの改行は行わないようにしたい場合、これが望ましい方法です。(単語の途中にハイフンがあるが、ハイフンの後で行が改行されるのを防ぎたい場合にも便利です。)

これらのキャラクターについてさらに詳しく読むことができますウィキペディアで

おすすめ記事