UITextView
があり、これはNSString
をフォーマットstringWithUTF8String
で受け取ります。データベースから値を取得しているので、データベース内のテキストをテキスト内で改行してレンダリングする必要があります。 \n
を使用してこれを実行しようとしましたが、テキストとしてレンダリングされます。アプリの情報ページでこれをストレートテキストとして機能させましたが、データベースから取得するときに機能しない理由は、フォーマットが原因であると思います。
助言がありますか?
Xcode5/Xcode6ストーリーボードの属性インスペクター(AI)に改行を追加する場合は、次のようにします。
または、CTRL + Returnで新しい行を作成します。
これで、ストーリーボードの出力/表示モードにエフェクトを表示できます。
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"];
単に以下:
{
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日など
Swiftでは、2つの文字列の間に「\ n」を追加するだけです
例:
let firstString = "Hello"
let secondString = "Senorita"
textview.text = firstString + "\n" + "secondString"
「\ r」を使用してみてください。
Xcode 4.2.1、iOS 4.3でテストしました
編集:これはiOS 3.0およびiOS 5.1でも機能します
UITextViewは改行を使用しますが、キャリッジリターンでは機能しません。入力が正しいことを確認する必要があります。
IBエディターで試してみましたが、最初は問題がありました。次に、テキストエディターを使用してテキストを入力し、IBエディターに貼り付けました。
私にとっては、それでうまくいきました。あなたのソースはデータベースから来ているので、おそらく改行は実際には改行であると思いますが、おそらくキャリッジリターンなどです。入力のHEX文字列を確認します。
(UIKeyboardType)keyboardTypeおよび(UIReturnKeyTYpe)returnKeyTypeを設定します
コードでビルドしている場合。
IBを使用している場合は、最初のインスペクターパネルに移動してTextInputTraitsを設定します
dbから取得するとき。試してみる
NSString *content = [mytext stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
self.textView.text = content;
webからテキストを取得する場合は、/ nの前後にスペースを入れて問題を解決したことを確認してください
例として(php):
echo $item_detail['item_title']." \n ";