텍스트를 표시하는 데 사용하는 UITextView가 있습니다. 측면을 따라 나는 줄 번호를 표시하는 데 사용하고있는 UITableView가 있습니다. 줄 번호를 텍스트 줄에 맞추려고 할 때 문제가 발생합니다. 다음은 문제의 스크린 샷입니다. https://www.dropbox.com/s/7sjqm4nrsqm6srh/Screen%20Shot%202012-10-11%20at%209.16.58%20PM.png 예를 들어, 7 행은 새 행의 시작 부분에 있지 않으므로 아래로 이동해야합니다. 문제는 텍스트 줄이 줄 바꿈 될 때 간격을 처리해야한다고 생각하지만 확실하지 않습니다.UITextView, 줄 번호가 맞지 않음
따라서 UITableView의 경우 텍스트 줄 수만큼 동일한 양의 셀을 만듭니다. 그런 다음 세포들은 높이는 방법을 사용하여 텍스트의 각 라인과 동일 정도로 연신된다
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
int i = indexPath.row;
if (i == 0) {
return 10;
}
UIFont *font = _codeView.font;
NSArray *strings = [_codeView.text componentsSeparatedByString:@"\n"];
NSString *tempString = [strings objectAtIndex:i-1];
if (([strings objectAtIndex:i-1] == @"\n") | ([[strings objectAtIndex:i-1] length] == 0)) {
tempString = @"hi";
}
CGSize stringSize = [tempString sizeWithFont:font constrainedToSize:CGSizeMake(_codeView.bounds.size.width, 9999) lineBreakMode:NSLineBreakByWordWrapping];
CGFloat height = stringSize.height;
return height;
}
_codeView는 I 코드를 표시하는 데 사용하고있는 UITextView이다. 줄 번호를 표시하는 UITableView는 첫 번째 줄을 첫 줄에 맞춰 첫 번째 셀을 정렬 할 수 있도록 맨 위에 빈 셀 하나를 가지고 있습니다.
간격을 사용하여 여러 가지 재생 방법을 시도했지만 그 중 아무 것도 문제를 해결하지 못하는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다.
그건 정확히 문제였습니다. 최적화 팁을 주셔서 감사합니다. 이제 라인 번호는 매력처럼 작동합니다. – user1163876
도움이 되니 기쁩니다. 나는 그것이 호기심인지 - 너비, 속성이있는 텍스트 또는 둘 모두 였는가? – rmaddy
폭입니다. 나는 양쪽에 패딩을하기 위해 8 점을 벗어날 필요가 있었다. – user1163876