0

SQLite データベースからの UILabel 表示テキストが必要です。ただし、改行文字 "\n" は認識されません。"Hello \n World" のように画面に表示されるだけです。

これは、DB からテキスト値を取得する方法です。

...
NSString *aDescription = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 3)];
myLabel.text = aDescription
...

助言がありますか?

UPD : この質問は、UILabel で複数の行を表示する方法ではありません。SQLite で改行文字を格納し、後でエンコードする方法です。

4

3 に答える 3

2

\n改行文字ではなく保存しているようです。

SQLite エディタを使用している場合は、改行文字を使用して textedit からテキストをコピーすることをお勧めします。

入力側で解決できない場合は、実際に解決する必要があります。リテラル\nを改行文字に置き換える必要があります。

NSString *aDescription = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 3)];
myLabel.text = [aDescription stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
于 2012-06-08T09:37:31.043 に答える
1

デフォルトでは、UILabel は改行を許可しません。改行を有効にしたい場合は、ラベルの行番号をかなり大きな数に設定する必要があります (そしてそのframeプロパティも拡張します):

label.numberOfLines = 5;

または、マティアスが提案したように:

label.numberOfLines = 0;

ラベルに必要な数の行を表示できるようにします。

于 2012-06-08T09:14:06.270 に答える
0

ラベルの高さが 2 行でデータを印刷するのに十分ではありません。高さを増やし、行数も増やしてください lbl.numberOfLines = 2;

于 2012-06-08T09:14:44.567 に答える