방금 이상한 문제에 부딪 혔습니다. 동적 높이가있는 사용자 정의 tableview 셀이 있습니다. 이 모든 것을 테스트하는 동안 문제가없는 것처럼 보였지만 이제는 실제 내용을로드하는 중 일부 문제가있는 것 같습니다.sizeToFit은 긴 단어가있는 새로운 라인을 트리거하지 않습니다.
몇 가지 텍스트가 UILabel의에서 새로운 라인을 유발하지 않는 것 같습니다
올바른 : http://dl.dropbox.com/u/274185/Screen%20Shot%202012-05-09%20at%201.15.21%20PM.png 잘못된 : 잘못된 예에서 볼 수 있듯이 http://dl.dropbox.com/u/274185/Screen%20Shot%202012-05-09%20at%201.15.30%20PM.png
, 텍스트가 두 번째로 밀려 줄의 높이는 여전히 한 줄로 계산됩니다.
item.project = @ "긴 제목의 다른 테스트 프로젝트 (관리/프로젝트 관리)";
item.project = @ "프로젝트 테스트 (관리자/프로젝트 관리)"; 을 것으로 나타나 많은 EDIT
이
// when creating the cell cell.projectLabel.lineBreakMode = UILineBreakModeWordWrap; cell.projectLabel.numberOfLines = 0; [cell.projectLabel sizeToFit]; // in heightForRowAtIndexPath() CGSize projectHeight = [item.project sizeWithFont:[UIFont boldSystemFontOfSize:13.0f] constrainedToSize:CGSizeMake(320.0f, CGFLOAT_MAX) lineBreakMode: UILineBreakModeWordWrap];
내가 lineBreakMode을 변경했지만,이 도움하지 않는 것 :
내가 높이를 계산하는 방법은 다음과 같이이다 문제는 텍스트의 높이를 계산할 때, 나는 정확하게 계산 된 실제 너비를 사용 후 올바른되지 않은 고정 320 포인트를 사용했습니다.
CGSize projectHeight = [item.project sizeWithFont:[UIFont boldSystemFontOfSize:13.0f] constrainedToSize:CGSizeMake(cell.projectLabel.bounds.size.width, CGFLOAT_MAX) lineBreakMode: UILineBreakModeWordWrap];
인터페이스 빌더에서 내 라벨의 프레임은 여러 줄에 딱 맞게 높이가 있습니다. 하지만 스크린 샷에서 볼 수 있듯이 일부 경우에만 발생합니다. lineBreakMode와 관련된 점이 있다고 생각하게합니다. –
'UILineBreakModeCharacterWrap' 테스트를 통해 사실임을 확인하십시오. –
동일한 높이로 출력하면 동일한 문제가 발생합니다. 첫 번째와 다른 하나는 16px 만 제공합니다. 이상한 ... –