我有一個非常長的字符串,數千行帶有默認字體。因此,我不是在一個表格視圖單元格中繪製整個事物,而是使用多個單元格繪製相同的字符串,每個字符串繪製字符串的下一部分。在多個矩形中繪製一個NSString
我很難找到一個出發點。假設我在矩形中繪製了第一個500像素高度的字符串 - 我怎麼知道從第二個矩形開始的位置?如果它是相同的字符串,我如何指定它只繪製字符串的某些部分?
每個單元格都會知道它是自己的行號,所以我將能夠確定表格中的確切位置,我只是不知道該字符串如何知道它應該繪製哪個部分..
或者另一個問題是:如何根據一定數量的行將一個字符串拆分爲多個字符串?
編輯:這裏有一些方法NSString的我發現,可能是有用的,但我仍然不知道我將如何使用它們在我的情況:
- (void)getLineStart:(NSUInteger *)startIndex end:(NSUInteger *)lineEndIndex contentsEnd:(NSUInteger *)contentsEndIndex forRange:(NSRange)aRange
- (NSRange)lineRangeForRange:(NSRange)aRange
嗯,因爲它在句子中間切斷會真的毀了經驗..我想盡可能自然.. – Snowman
lineRangeForRange我相信會返回你的範圍,不會削減你的句子。因此,例如,您希望範圍爲0-500個字符,則使用lineRangeForRange:範圍爲0-500,它將返回範圍0-450(這將是行的末尾),並且您在0-450範圍內使用substringWithRange。 – Jaybit
等等,lineRangeForRange做了什麼......我對它給我的結果感到困惑。如果我給它0,250,它會在該字符範圍內返回完整的行嗎? – Snowman