私は本当に長い文字列を持ち、何千もの行がデフォルトのフォントで表示されています。そのため、1つのテーブルビューのセルにすべてを描画するのではなく、複数のセルを作成して同じ文字列を描画し、それぞれが文字列の次の部分を描画します。複数の矩形に1つのNSStringを描画する
出発点を見つけるのに苦労しています。弦の高さの最初の500ピクセルを矩形で描きます - 私は2番目の矩形のどこから始めるべきですか?それが同じ文字列の場合、文字列の一部だけを描画するように指定するにはどうすればよいですか?
各セルはそれ自身の行番号を知っているので、私はテーブルのどこにあるかを特定できます。文字列がどの部分を描画するのか分かりません。
もう1つ質問があります。特定の行数に基づいて1つの文字列を複数の文字列に分割するにはどうすればよいですか?
編集:は、ここで私はそれが役に立つかもしれない探していますいくつかのNSStringのメソッドですが、私はまだ、私は私の場合には、それらを使用する方法がわからない。このことができます
- (void)getLineStart:(NSUInteger *)startIndex end:(NSUInteger *)lineEndIndex contentsEnd:(NSUInteger *)contentsEndIndex forRange:(NSRange)aRange
- (NSRange)lineRangeForRange:(NSRange)aRange
文章の途中で途切れてしまい、実際に経験を失ってしまいます。私はできるだけ自然なものにしたいと思っています。 – Snowman
lineRangeForRange私はあなたの文章を切らない範囲。たとえば、0〜500文字の範囲を指定する場合は、0〜500の範囲でlineRangeForRange:を使用し、0〜450の範囲を返します(行の終わりになります)。0〜450でsubstringWithRangeを使用します。 – Jaybit
lineRangeForRangeは何をしているのですか?それは私に与えられた結果に混乱しています。私が0、250を与えると、その文字範囲内に完全な行が返されますか? – Snowman