Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将动态图像加载到UIScrollVIew_Iphone_Objective C_Xcode_Uiscrollview - Fatal编程技术网

Iphone 将动态图像加载到UIScrollVIew

Iphone 将动态图像加载到UIScrollVIew,iphone,objective-c,xcode,uiscrollview,Iphone,Objective C,Xcode,Uiscrollview,我想做的是构建一个包含大量图像的UIScrollView,问题是我不想因为性能问题一次将所有图像加载到滚动视图,因此如果有人可以建议并帮助我构建一个UIScrollView,它可以在运行时添加图像,例如,当我向左滚动时,我会得到一个图像,并在需要时分配下一个图像,继续分页。使用此委托方法添加新图像 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; //如果用

我想做的是构建一个包含大量图像的UIScrollView,问题是我不想因为性能问题一次将所有图像加载到滚动视图,因此如果有人可以建议并帮助我构建一个UIScrollView,它可以在运行时添加图像,例如,当我向左滚动时,我会得到一个图像,并在需要时分配下一个图像,继续分页。

使用此委托方法添加新图像

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

//如果用户拖动,则在竖起手指时调用。如果它以后继续移动,则减速为真

您可以实现
UIScrollViewDelegate
并使用其方法,如

-(void)scrollViewDidScroll:(UIScrollView*)scrollView

这将告诉您滚动视图中的任何偏移更改,然后您可以在运行时加载该偏移处显示的任何图像。为此,您必须跟踪当前偏移量和滚动视图的页面。

查看苹果的示例代码
这可能是一个很好的起点

我成功了,我发布了一个答案,collectionViews已经做了很多,不要重新发明轮子。
- (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];

}