Загрузка динамических изображений в UIScrollVIew - PullRequest
0 голосов
/ 20 июля 2011

я хотел бы создать UIScrollView, который содержит много изображений, проблема в том, что я не хочу загружать все изображения в представление с прокруткой сразу из-за проблем с производительностью, поэтому если кто-то может предложить и помогите мне создать UIScrollView, который может добавлять изображения во время выполнения, например, когда я прокручиваю влево, я получаю изображение, и следующее изображение выделяется, когда это необходимо, с подкачкой.

Ответы [ 4 ]

1 голос
/ 20 июля 2011

Вы можете реализовать UIScrollViewDelegate и использовать его методы, такие как

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

, который сообщает вам о любых изменениях смещения в представлении прокрутки, а затем вы можете загрузить любое изображение, которое должно появиться с этим смещением во время выполнения. Для этого вам необходимо отслеживать текущее смещение и страницу просмотра прокрутки.

1 голос
/ 20 июля 2011

Используйте этот метод делегата для добавления нового изображения.

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; 

// вызывается пальцем вверх, если пользователь перетащил.замедление равно true, если оно продолжит движение после этого

0 голосов
/ 20 июля 2011
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    float currPos = scroll.contentOffset.x;

    BOOL movingRight = ( currPos / scroll.frame.size.width ) > 1 ? YES : NO ;

    if (movingRight) {
        NSLog(@"RIGHT");
        [photo2 setImage:[UIImage imageNamed:@"22.jpg"]];
        photo2.frame = CGRectMake(scroll.frame.size.width * 2, 0, scroll.frame.size.width, scroll.frame.size.height); 
    }else{
        NSLog(@"LEFT");
        [photo2 setImage:[UIImage imageNamed:@"33.jpg"]];
        photo2.frame = CGRectMake(0, 0, scroll.frame.size.width, scroll.frame.size.height);        
    }


    //NSLog(@"%f",currPos);

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    UIImage *img = [photo1 getImage];
    [photo1 setImage:[photo2 getImage]];
    [self.scroll scrollRectToVisible:CGRectMake(self.scroll.frame.size.width, 0, self.scroll.frame.size.width, self.scroll.frame.size.height) animated:NO];
    [photo2 setImage:img];

}
0 голосов
/ 20 июля 2011

Посмотрите на образец кода Apple PageControl Это может быть хорошей отправной точкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...