ios:如何使用滚动视图将图像从URL加载到页面控件

时间:2011-09-09 04:15:05

标签: iphone objective-c ios scrollview uipagecontrol

我是iOS的新手。现在我想使用滚动视图将视图图像从URL加载到页面控件。当我运行该程序时,显示第一个图像,但当我尝试滑动到下一个图像或我移动到另一个页面时,程序没有响应。我的猜测可能与图像的大小有关。

以下是我加载图片的代码。我把这段代码放在 - (void)viewDidLOad ...

CGRect screenShot = screenView.frame;
screenShot.origin.y = description.frame.origin.y + description.frame.size.height + 30;
screenView.frame = screenShot;

pageControlBeingUsed = NO;

for (int i = 0; i < [myArrayImagesURL count]; i++) {
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;
      UIImageView *iv = [[[UIImageView alloc] initWithFrame:CGRectMake(scrollView.bounds.size.width * i, 0, scrollView.bounds.size.width, scrollView.bounds.size.height)] autorelease];
    iv.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:
                                       [NSURL URLWithString:[myArrayImagesURL objectAtIndex:i]]]];

    [self.scrollView addSubview:iv];
    [iv release];
}

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * [myArrayImagesURL count], self.scrollView.frame.size.height);

self.pageControl.currentPage = 0;
self.pageControl.numberOfPages = [myArrayImagesURL count];

1 个答案:

答案 0 :(得分:2)

看起来您已将imageView设置为自动释放并将其释放。这应该是错的。创建imageView时尝试删除autorelease标记。现在应该妥善保留。

UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(scrollView.bounds.size.width * i, 0, scrollView.bounds.size.width, scrollView.bounds.size.height)];