2011-09-23 8 views
0

나는 내있는 UITableViewCell 이미지로 사용하고자하는 16 로컬로 저장 미리 렌더링 40x40의 픽셀 이미지를 가지고있다. 나는 그것을 [UIImage imageNamed :]를 사용하여 잘 표시 할 수있다. 그러나 나는 이것이 테이블 뷰 스크롤 속도를 늦추는 것을 알아 챘다.있는 UITableViewCell로드 이미지

나는 게으른 로딩 등 사과 예제를 보면서 나는 백그라운드 스레드 또는 비동기 적으로 그것을 할 필요가 이해하지만, 지역 이미지에 대한 예를 발견하지 않았습니다했다.

아무도 도와 줄 수 있습니까?

답변

1

서브 클래스 jQuery과 셀과 같은 인 셀에 새로운 방법을 만들 :

이미지를 설정하는 데 사용되는 경우, 대신 같은 것을 할 변경에서 다음
- (void)setImage:(NSString *)imageName; 

:

[cell setImage:nil]; 
[cell performSelector:@selector(setImage:) withObject:@"imageName" afterDelay:0]; 

는 performSelector로 변경 : withObject : afterDelay : 코드가있는 tableView 스크롤하면서 화상 실행되지 설정하는 것을 의미한다. 스크롤이 멈출 때까지 셀에 이미지를 설정하지 않으므로 스크롤 성능이 크게 향상됩니다. 스크롤은 그래서 당신은 스크롤하는 동안 나타날 수있는 이미지를 장소에 작은 자리 표시 자 이미지를 고려하는 것이 좋습니다 동안 이미지의 부족을 알 수 그러나

.

는 개인적으로 나는 내 코드에서 조건이 방법을 사용합니다. 나는 UIDevice가 얼마나 오래되었는지 감지하고, 이전 세대의 디바이스에서 스크롤 성능을 향상시키기 위해 이처럼 느린로드를 수행합니다.

+0

감사 앤드류 ..이 나를 위해 완벽하게 잘 작동 ... 건배! –