UIScrollView子视图和setNeedsDisplay

时间:2011-12-15 05:47:35

标签: uiscrollview uiimageview reload setneedsdisplay

我遇到以下问题:

我有一个包含UIScrollView作为子视图的UIView。 (nib文件)。 以编程方式我向UIScrollView添加了几个子视图(UIImageView),每个UIImageview都包含一个异步加载的图像,所以我需要在下载图像时更新scrollView。在负责图像提取的类中,我使用此代码通告负责管理scrollView的View控制器

[[(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后缺少更新的原因吗?

欢迎任何帮助/建议/参考等 提前致谢

1 个答案:

答案 0 :(得分:-4)

老兄你在做imageView.image = downloadedImage ??

此外,您不必执行[self.scrollView setNeedsDisplay],因为您没有在scrollView上更改任何内容!!

imageView的内容发生了什么变化,imageView.image = downloadedImage会在imageView上自动触发setNeedsDisplay !!

其他一些检查点

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