問題は、文字列に存在する新しい行が文字通りhtmlドキュメントソースに挿入されることです。htmlソースの改行は、htmlドキュメントがレンダリングされるときに文字通りレンダリングされません。(もしそうなら想像してみてください。htmlタグを区切るすべての新しい行文字のために、非常に多くの余分な新しい行が表示されます。)
代わりに、ユーザーが入力した生のテキストを処理して、ユーザーが入力したものとしてレンダリングされるhtmlソースを生成する必要があります。したがって、テキストを段落に分割してから、適切な<p></p>
タグを挿入する必要があります。
enumerateSubstringsInRange:options:usingBlock:
オプションでNSStringメソッドを使用できますNSStringEnumerationByParagraphs
。各段落を処理します。
また、ユーザーが入力したデータをサニタイズする必要があります。たとえば、ユーザーがいくつかのhtmlタグを入力した場合に、ページが台無しにならないようにする必要があります。データのサナタイズは、テキスト内のすべての制限された文字を適切なhtmlエンティティに置き換えるのと同じくらい簡単かもしれませんが、それはあなたが何をしているかに依存します。