2011-03-19 1 views
0

TTImageView (three20부터)를 사용하여 웹에서 이미지를 표시합니다.TTImageView sizeToFit는 프레임 크기가 0이지만 여전히 이미지를 표시합니다.

self.pic = [[TTImageView alloc] initWithFrame:CGRectMake(25, 25, 100, 100)]; 
self.pic.urlPath = @"http://www.google.com/images/logos/ps_logo2.png"; 
[self.pic sizeToFit]; 
NSLog(@"%f %f %f %f", self.pic.frame.origin.x, self.pic.frame.origin.y, self.pic.frame.size.width, self.pic.frame.size.height); 

이미지로드와 완벽하게 표시하지만 NSLog는 "25.000000 25.000000 0.000000 0.000000"를 반환합니다. 올바른 프레임을 반환하려면 어떻게해야합니까?

답변

0

은 내가 TTImageView을 사용하기 때문에 오랜만,하지만 내가 무슨 일이 일어나고 상상하면 다음과 같다 : 당신은 당신이 설정 한 후 URL에서

  • 즉시 새로운 이미지를로드 TTImageView에게

    1. URL 경로, 당신은 sizeTo 맞춤
    2. 전화 ...하지만 프레임이 0으로 설정되어 있으므로 이미지가 그 시간
    존재하지 않기 때문에 이미지가 실제로 아직 다운로드하지 않은

    TTImageView는 백그라운드에서 비동기 적으로 다운로드됩니다. 이미지로드가 완료되면 TTImageViewDelegate (here 문서) 콜백을 사용하여 sizeToFit으로 전화해야합니다.

    현재 이미지 다운로드 요청을하는 중입니다. 3G에서 몇 초가 걸릴 수 있으며 WiFi-에서 상당한 시간이 걸리며 다음 줄에서 프레임 크기를 변경하라는 메시지가 표시됩니다. 이미지 다운로드가 완료된 후 대리인 방법이 무엇인지 확인한 후에 sizeToFit으로 전화해야합니다.

  • +0

    감사합니다. 왜 내가 그걸 몰랐는지 모르겠다. – Josh