1

我有以下问题:

我有一个包含 UIScrollView 作为子视图的 UIView。(笔尖文件)。我以编程方式向 UIScrollView 添加了几个子视图(UIImageView),每个 UIImageview 都包含一个从网络异步加载的图像,因此我需要在下载图像时更新 scrollView。在负责图像获取的类中,我使用此代码宣传负责管理滚动视图的视图控制器

[[(MosaicViewController *)data] scrollView setNeedsDisplay];

Ivar 数据是指向 ViewController 的指针。这个东西不起作用,没有重新加载scrollView 为了确保调用被触发,我在包含scrollView的viewController中编写了一个方法,在这个方法中我调用了setNeedsDisplay,

[(MosaicViewController *)data updateView];

-(void) updateView
{
    NSLog(@"setNeedsDisplay");
    [self.scrollView setNeedsDisplay];
}

方法 updateView 被正确触发,我的意思是在每个 Image 下载后调用,但 scrollView 内容没有更新。在包含 scrollView 的 ViewController 中我没有实现 drawRect 方法,这可能是调用 setNeedsDisplay 后缺少更新的原因吗?

欢迎任何帮助/建议/参考等。在此先感谢

4

1 回答 1

-4

老兄,你在做 imageView.image = updatedImage 吗?

你也不应该做 [self.scrollView setNeedsDisplay] 因为你没有改变 scrollView 上的任何东西!

改变的是imageView的内容,imageView.image=downloadedImage会自动触发imageView上的setNeedsDisplay!!

其他一些检查点

滚动视图是否可见?scrollView.contentSize 设置了吗?scrollView 框架是否正确?

于 2011-12-17T06:26:53.347 回答