IOS: Как загрузить изображения из URL-адреса для управления страницей с помощью прокрутки - PullRequest
5 голосов
/ 09 сентября 2011

Я новичок в 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 Ответ

2 голосов
/ 09 сентября 2011

Похоже, вы установили для imageView автоматический выпуск и выпустили его. Это должно быть неправильно. Попробуйте удалить тег autorelease при создании imageView. Это должно быть должным образом сохранено сейчас.

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