改行モードが末尾を切り捨てるように設定された UILabel が既にあります。問題は、改行のない文字列があることです。
UILabel が文字列に改行を追加する簡単な方法はありますか??
例: 「これは 2 行に収まる長い文字列です」 -- 改行を追加 --> 「これは 2 行に収まる長い文字列です \n」
または、幅と分割モードを指定して、分割線を挿入する場所を計算する関数を作成する必要がありますか?
ありがとう!
\r\n を文字列に追加します。
これが10キャラ目、13キャラ目と続きます。
これは実際には、キャリッジ リターンとライン フィードが発行されたというシステムへのメッセージです。そして、それは次の行にテキストを置くように指示します:)
複数行を許可するようにラベルに指示する必要もあります。
UILabel *label; // We will assume this label exists.
label.numberOfLines = 3;
label.text = @"This String Breaks Here -->\r\nThis is on the next line";
3に設定しても、ラベルには2行あります。改行が1つしかないためです...テキストが折り返されない限り、その時点で1行が折り返されます。もう一方は途中で切り捨てられます。
最良の答えは、ブレークラインの世話をするべきではないということだと思います。UILabelにテキストを渡すだけで、ブレークラインモードに従って正しくブレークされます。
重要なことは、UILabelが自分でサイズを変更しないことを覚えておくことです。必要に応じて高さを増やしてから、テキストを割り当てる必要があります。または、setText:メソッドをオーバーライドする両方のことを行います。
UITextView
簡単な複数行のテキストには、おそらくより良い方法です。読み取り専用にしたい場合は、editable
プロパティをに設定してください。NO