각 테이블 셀에 "Book name"과 "Book description"이 포함 된 tableView 목록이있는 tableView가 있습니다. 셀의 높이는 책 설명의 길이에 따라 결정되므로 셀 높이가 다릅니다.배경 이미지 및 동적 높이가있는 UITableViewCell
모든 셀에는 물론 셀 높이에 따라 녹말 배경 이미지가 있습니다.
나는 다음과 같이 셀의 drawRect에서 배경 이미지를 그리기 해요 :
이 코드는 작동- (void)drawRect:(CGRect)rect
{
UIImage *bgImage = [UIImage imageNamed:@"cell_BG.png"];
bgImage = [bgImage stretchableImageWithLeftCapWidth:60.0 topCapHeight:60.0];
[bgImage drawInRect:rect];
}
는, 문제는, 스크롤 성능이다 나는 그것이 싶습니다으로 부드러운 아니다.
주요 문제는 높이가 변하는 것으로 나타났습니다. 재사용 가능한 셀을 포함하여 모든 셀에 대해 drawRect 호출을 트리거하는 것 같습니다. (필자는 스크롤 성능이 대폭 향상 모든 셀에 대해 동일한 높이를 설정하려고하지만 동적 높이 ... 사용해야하는 경우)
이 할 수있는 더 좋은 방법이 있나요을
그래서 테이블 스크롤 개선 할 것인가?
"... drawRect는 꽤 비쌉니다."- 내가 아는 바로는 일반적으로 drawRect를 재정 의하여 셀에 하위 뷰를 추가하는 대신 성능이 향상됩니다. 하지만 당신의 접근 방식을 시도하고 볼 것입니다 ... – Eyal
drawRect는 일반적으로 CoreGraphics 또는 다른 라이브러리를 사용하여 사용자 지정 드로잉에 대한 진입 점입니다, UIImageViews로 이미지를보다 효율적으로 처리 할 수 있습니다. – Patrick
도 도움이 될 수 있습니다. http://stackoverflow.com/questions/5656014/why-does-drawrect-scroll-slower-than-uiimageview-for-large-images-in-custom-uita – Patrick