我正在使用TTImageView(来自three20)来显示来自网络的图像。
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 :(得分:0)
我使用TTImageView
已经有一段时间了,但我想象的是以下内容:
TTImageView将异步下载 - 即在后台。您需要使用委托函数TTImageViewDelegate
(记录为here)在图像加载完成后回复,此时您应该调用sizeToFit
。
目前,您正在启动下载图像的请求 - 这个过程可能需要几秒钟的3G时间,而且仍需要相当长的时间才能使用WiFi,然后下一行要求调整帧大小。在确定图像下载完成后,您需要调用sizeToFit
,这是委托方法的用途。