2012-02-08 2 views
1

이 문제로 인해 문제가 발생합니다.다시 그리기 전까지는 UITableViewCell 하위 뷰가 표시되지 않습니다.

스토리 보드에 UITableViewCell 프로토 타입이 있습니다. 그것은 서브 뷰를 포함하고 있습니다. 하위 뷰 중 하나 인 UILabel이 잘못되었습니다.

테이블 뷰가로드되어 처음 표시 될 때 모든 셀이 잘 보입니다. 그러나 테이블 뷰가 아래로 스크롤되면 결국 셀 중 하나가 UILabel 하위 뷰없이 표시됩니다. 그것은 항상 재활용되는 첫 번째 세포 인 것 같습니다.

그러나 테이블 뷰를 아래로 계속 스크롤하면 오작동하는 셀이 테이블 뷰 맨 위에서 잘리는 즉시 (화면 맨 위로 스크롤되기 시작할 때) 레이블이 나타납니다 .

그래서 레이블이 있고 내 cellForRowAtIndexPath 메서드에서 할당 한 문자열을받는 것 같습니다. 어떤 이유로 그려지지 않고 있습니다. 여러 곳에서 setNeedsDisplay 메시지를 삽입하려고 시도했지만 도움이되지 않았습니다.

이상한 점은 다른보기 컨트롤러의 스토리 보드에서 중복 뷰 계층 구조와 동일한 UITableViewCell 하위 클래스를 사용하고 있는데 문제가없는 것입니다.

아무도 내가이 수수께끼를 풀기 시작할 수있는 방법에 대한 아이디어가 있습니까?

감사합니다.

+0

tableView 또는 cellViewRowAtIndexPath에서 초기화 한 후 하위 뷰를 수정하고 있습니까? –

+0

나는 그렇다. 레이블의 텍스트를 설정하고 다른 사용자 정의 UIView 하위 클래스를 사용하여 다른 작업을 수행합니다. 모두 잘 작동합니다. 그것은 그려지지 않는 단지 UILabel입니다. – CharlieMezak

+0

나는 정말로 나에게 비슷한 일이 일어나고있다. 하나의 특정 셀에서 하나의 레이블이 그려지지 않습니다. 코드가 깨지면 셀은 절대 좋아 보인다. 내가 setNeedsDisplay를하면, 나타난다. 날 미치게! – jasongregori

답변

1

재사용 가능한 셀을 사용할 때만 문제가되는 것 같습니다. 다시 스크롤 할 준비가 될 때까지 재사용 가능한 셀의 값이 설정되지 않을 수 있습니다.

+0

모든 다른 하위 뷰가 올바르게 구성 되었기 때문에 값이 설정되기 * 전에 * 셀이 화면에 나타납니다. 그것은 그려지지 않은 레이블 일뿐입니다. 라벨이 나타나면 텍스트 값이 정확하므로 셀이 화면에 나타나기 전에 다른 모든 값과 함께 값이 설정된 것으로 보입니다. 당신이 솔루션으로 추천하고있는 것이 무엇인지 확실하지 않습니다. – CharlieMezak

+0

내가 생각할 수있는 유일한 다른 점은 레이블의보기가 하위보기로 추가되지 않는다는 것입니다. 그렇지 않으면 cellForRowAtIndexPath 코드를 게시 할 수 있습니다. –

관련 문제