내 iPhone 앱에 three20 프로젝트를 사용하고 있습니다. 내 문제를 좁히고 이제 프로젝트와 함께 제공되는 '테이블의 웹 이미지'예제를 다시 만들려고합니다. 코드 을 정확히과 같이 프로젝트에 복사했습니다. 예외는 있지만 TTNavigator는 사용하지 않지만 TabBar에 수동으로 TTTableViewController를 추가합니다.스크롤 할 때까지 TTTableImageItem이 이미지를로드하지 않습니다.
문제는 다음과 같습니다. 예제와 같이 테이블의 이미지가 웹에서 자동으로로드됩니다. 하지만 이후에만로드됩니다. 테이블을 위아래로 스크롤합니다.
콘솔에 이미지가 다운로드 중이라고 표시되고 활동 표시기가 영원히 돌아가는 것을 볼 수 있습니다. 한 번 위아래로 스크롤하지 않으면 이미지가 나타나지 않습니다.
누구나? 미리 감사드립니다.
PS :
TTImageView* imageView = [[[TTImageView alloc] initWithFrame:CGRectMake(30, 30, 100, 100)] autorelease];
imageView.autoresizesToImage = YES;
imageView.URL = @"http://webpimp.nl/logo.png";
[self.view addSubview:imageView];
내 AppDelegate에이 코드를 넣을 경우 (오른쪽 : 내가 어떤 임의의 UIView에이 코드를 사용하고있는 경우 는 또한 (단 검은 색 사각형 표시) 작동하지 않습니다 창문에), 그것은 작동합니다 .. 이상한가?
가능한 해결책 :이 목적을 위해 TTImageView 사용을 중단하지만 , 나는 밖으로 문제가 무엇인지 발견 생각; 스레딩 (따라서 Deniz Mert Edincik의 답을 수락 함). 비동기 다운로드를 시작한 경우 (기본적으로 TTImageView가 모두 비동기 다운로드이므로) 메인 스레드에서 시작되지만 시작되지는 않습니다. 주 스레드에서 다운로드를 시작하면 바로 시작됩니다.
TTImageView는 이러한 종류의 작업을 자체적으로 처리하므로이 상황에서 사용해야합니다. reloadData는 옵션이 아닙니다. 이 문제가 없어도 이미지를 다운로드 할 때마다 reloadData를 호출하면 (이미지가 많을 수 있음) 확실히 테이블이 엉망이됩니다. – Jake