web-dev-qa-db-ja.com

UITextViewに改行を追加する

UITextViewがあり、これはNSStringをフォーマットstringWithUTF8Stringで受け取ります。データベースから値を取得しているので、データベース内のテキストをテキスト内で改行してレンダリングする必要があります。 \nを使用してこれを実行しようとしましたが、テキストとしてレンダリングされます。アプリの情報ページでこれをストレートテキストとして機能させましたが、データベースから取得するときに機能しない理由は、フォーマットが原因であると思います。

助言がありますか?

61
Mark Cicero

Xcode5/Xcode6ストーリーボードの属性インスペクター(AI)に改行を追加する場合は、次のようにします。

  1. UITextViewをドラッグします。
  2. それをダブルクリックしてテキストを編集し、段落区切りの位置にカーソルを置きます。
  3. alt-Enterを数回押して、空白行と段落を作成します。

または、CTRL + Returnで新しい行を作成します。

これで、ストーリーボードの出力/表示モードにエフェクトを表示できます。enter image description here

88
imti

Tcの答えを少し拡張します。文字列に改行がある場合は、おそらくそれらを\n(つまり、Cocoaの@"\\n")に変換し、データベースに保存して、文字列BACKを取得します。データベースから、おそらくそれらを改行に戻す必要があります。したがって、次のようなコードを使用します。

NSString *saveString = [myTextField.text stringByReplacingOccurrencesOfString: @"\n" withString: @"\\n"];
// save it to the db
// ... later ...
NSString *dbString = // get the string from the db.
myTextField.text = [dbString stringByReplacingOccurrencesOfString: @"\\n" withString: @"\n"];
37
Olie

単に以下:

{
textView.text = @"January: 7th,21st,\n February: 4th,18th,\n March: 4th,18th,\n April: 1st, 15th, 29th, \n May: 13th, 27th, \n June: 10th,24th, \n July: 8th, 22nd, \n August: 5th, 19th, \n September: 2nd, 16th, 30th, \n October: 14th, 28th, \n November: 11th, 25th";
        NSLog (@"Recycle Dates for Abbey Way");

}

textViewまたは選択したものに以下のように出力されます

出力:

1月:7日、21日、
2月:4日、18日、
3月:4日、18日など

22
Alex McPherson

Swiftでは、2つの文字列の間に「\ n」を追加するだけです

例:

let firstString = "Hello"

let secondString = "Senorita"

textview.text = firstString + "\n" + "secondString"
10
Ravindra Kishan

「\ r」を使用してみてください。

Xcode 4.2.1、iOS 4.3でテストしました

編集:これはiOS 3.0およびiOS 5.1でも機能します

7
hellangle

UITextViewは改行を使用しますが、キャリッジリターンでは機能しません。入力が正しいことを確認する必要があります。

IBエディターで試してみましたが、最初は問題がありました。次に、テキストエディターを使用してテキストを入力し、IBエディターに貼り付けました。

私にとっては、それでうまくいきました。あなたのソースはデータベースから来ているので、おそらく改行は実際には改行であると思いますが、おそらくキャリッジリターンなどです。入力のHEX文字列を確認します。

2
Leander

(UIKeyboardType)keyboardTypeおよび(UIReturnKeyTYpe)returnKeyTypeを設定します

コードでビルドしている場合。

IBを使用している場合は、最初のインスペクターパネルに移動してTextInputTraitsを設定します

1
Vivek Sharma

dbから取得するとき。試してみる

NSString *content = [mytext stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
self.textView.text = content;
1
Tuan Pham

webからテキストを取得する場合は、/ nの前後にスペースを入れて問題を解決したことを確認してください

例として(php):

echo $item_detail['item_title']."  \n ";
0
Omar N Shamali