2013-10-16 2 views
1

모든 셀마다 다른 (양) 서브 뷰가있는 UITableViewCell이 있습니다. 하위 뷰의 양은 서버에서 제공되며 모든 행마다 다릅니다. 그림은 어디에서해야합니까? UITableViewCell 내에서 수행 할 수 없으므로 높이를 init 방법으로 전달할 수 없습니다.UITableViewCell 동적 드로잉

willDisplayCell:forRowAtIndexPath: 또는 cellForRowAtIndexPath:에있는 드로잉 (모든 셀마다 다름)을 사용해야합니까?

+0

성능상의 이유로 셀을 willDisplayCell에서 항상 업데이트해야합니다 : willDisplayCell :: Override 귀하의 UITableViewCell 하위 클래스에서 initWithStyle 메서드. – Tim

답변

0

가능한 경우 항상 성능상의 이유로 셀을 다시 사용하십시오.

UITableViewDataSource Protocol ReferenceUITableViewDelegate Protocol Reference을 참조하십시오. 여기에 언급 된 방법과 사용 방법에 대한 설명이 나와 있습니다.

테이블보기는 특정 행에 대한 셀을 그리려고 할 수있는 대리자를 알려줍니다 : 애플은 willDisplayCell 말한다.

다양한 높이 변경 방법을 사용할 수 있습니다. 이것은 당신의 필요에 맞는 방법을 결정할 수 있도록 당신의 부분에 대한 약간의 연구가 필요합니다.

+0

이것은 내 질문에 대한 대답이 아닙니다. 이제는 그 메소드에 적절한 높이를 전달할 수 없기 때문에'initWithStyle : reuseIdentifier'에서 할 수 없기 때문에 어디에서 그려야할까요? 예 : 'cellForRowAtIndexPath :'에서 수동으로 호출하지 않기 때문에'initWithStyle : reuseIdentifier : height'가 작동하지 않습니다. 나는 오프닝 포스트를 업데이트했다. 다시 확인해주세요. – yoeriboven

+0

초기화 할 때 셀을 사용자 지정하지 마십시오. 언제든지 데이터 소스를 기반으로 셀을 사용자 정의하므로 UITableViewDataSource 메서드를 임의로 사용할 수 있습니다. 귀하가 질문 한 것이 initWithStyle ::을 무시하는 것을 묻기 때문에 우선 순위가 무엇인지 혼란스럽게 보입니다. 드로잉을 할 곳을 결정하기 위해 클래스 레퍼런스를 읽으십시오 - Apple 권장 willDisplayCell \ – Tim

+0

제목에 맞습니다. 나는 그것을 바꿨다. 나는 문서를 읽었고'willDisplayCell'에서 그 그림을 할 것이다. 고맙습니다. – yoeriboven

관련 문제