나는 정말로 긴 문자열을 가지고 있으며 수천 줄의 기본 글꼴이 있습니다. 그래서 하나의 테이블 뷰 셀에 모든 것을 그려 넣기보다는 여러 개의 셀을 만들어 동일한 문자열을 그려서 각 문자열의 다음 부분을 그립니다.여러 개의 직사각형에 하나의 NSString 그리기
시작 지점을 찾는 데 어려움을 겪고 있습니다. 직사각형에있는 문자열의 높이의 처음 500 픽셀을 그려 봅시다 - 두 번째 rect에서 어디에서 시작해야하는지 어떻게 알 수 있습니까? 문자열이 같은 경우 문자열의 일부만 그리는 방법을 어떻게 지정할 수 있습니까?
각 셀은 자신의 행 번호를 알고 있으므로 테이블의 정확한 위치를 결정할 수 있습니다. 그려지는 부분을 문자열로 알 수는 없습니다.
또 다른 질문은 다음과 같습니다. 특정 줄 수를 기반으로 한 문자열을 여러 문자열로 나누려면 어떻게해야합니까?
편집 :는 여기에 내가 그 유용 할 수 있습니다 찾는거야 일부는 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