2011-12-05 10 views
0

私はUITextView にいくつかの改行をしたいのですがUITextViewに改行...私は@「 n」は動作するはずです、ここでさまざまなトピックで見た

は私がしようとした場合にする方法:

textView.text = @"Hey \nDude !"; 

これは問題ありません。

<string>Hey \nDude !</string> 

\ nはテキストで書かれており、何があります:私のテキストは(ルート・タイプの配列で)plistファイルから来る場合 はしかし

textView.text = [NSString stringWithString:[timeCodeArray objectAtIndex:textNumber]]; 

plistの中のテキストではありません新しい行違反...

しましたか?

+0

この役立つかもしれない http://stackoverflow.com/questions/3697253/adding-a-line-break-to-a-uitextview – revolver

答えて

11
NSString *aStr = [timeCodeArray objectAtIndex:textNumber]; 
textView.text = [aStr stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"]; 

なぜわからないのですか。

+1

HOええ!完璧に動作します! THX ! – user1081147

+0

@ user1081147がそれを受け入れましたか? :D – fannheyward

0

理由は、文字列をtextView.textに保存すると、文字列に表示されているとおりに文字列をレンダリングしようとするためです。

これは、新しい行の代わりに "\ n"を表示しようとしていることを意味します。

これを行うには、(正規表現から)追加の '\'を使用して、\ nの機能をマスクして「\ n」を表示するだけです。内部的には、文字列に "\ n"として格納されます。

string = @"hey \nDude !"; 
textView.text = [string stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"]; 
関連する問題